!function (e) {
    function t(n) {
        if (i[n])return i[n].exports;
        var r = i[n] = {i: n, l: !1, exports: {}};
        return e[n].call(r.exports, r, r.exports, t), r.l = !0, r.exports
    }

    var n = window.webpackJsonp;
    window.webpackJsonp = function (i, o, s) {
        for (var a, l, c, u = 0, d = []; u < i.length; u++)l = i[u], r[l] && d.push(r[l][0]), r[l] = 0;
        for (a in o)Object.prototype.hasOwnProperty.call(o, a) && (e[a] = o[a]);
        for (n && n(i, o, s); d.length;)d.shift()();
        if (s)for (u = 0; u < s.length; u++)c = t(t.s = s[u]);
        return c
    };
    var i = {}, r = {31: 0};
    t.e = function (e) {
        function n() {
            a.onerror = a.onload = null, clearTimeout(l);
            var t = r[e];
            0 !== t && (t && t[1](new Error("Loading chunk " + e + " failed.")), r[e] = void 0)
        }

        var i = r[e];
        if (0 === i)return new Promise(function (e) {
            e()
        });
        if (i)return i[2];
        var o = new Promise(function (t, n) {
            i = r[e] = [t, n]
        });
        i[2] = o;
        var s = document.getElementsByTagName("head")[0], a = document.createElement("script");
        a.type = "text/javascript", a.charset = "utf-8", a.async = !0, a.timeout = 12e4, t.nc && a.setAttribute("nonce", t.nc), a.src = t.p + "" + {
                0: "7c82a7c9338e8fd12232",
                1: "5360be7c7a4c7ab9a5f2",
                2: "ba0de3bf3cba7cd2d3ef",
                3: "21487641939cabb19bd9",
                4: "c749eca841d648de77c0",
                5: "13a2ceca447fb8362560",
                6: "8daca6e66ee70764b6c0",
                7: "22f6c682115fe1f77424",
                8: "b8ebc3193ebce17d5d11",
                9: "b3c4ac151dfda08e18ba",
                10: "3136554ca74dc1f3c176",
                11: "a5b16ae2aa2324ae16ce",
                12: "a28124e404da5ad86562",
                13: "956a0896bffe9af61a23",
                14: "9ee8fc29c3b52cbae1aa",
                15: "eafc57d276eeada2086a",
                16: "ae7ccb46430fa2a51dad",
                17: "526eb34144c0a67cf5fc",
                18: "936b82c51a9c40147476",
                19: "a9a627b3921f72c7a210",
                20: "f1a257f3b0cd3c000fe1",
                21: "bbfa51459026476e1c89",
                22: "f83974ee28e5d16db2f7",
                23: "0aa6cf7bbc6c209ebc52",
                24: "7ec2f9ef2a64e71a01ff",
                25: "eb57ff07169b36e8d881",
                26: "19b05be41edb71b4bd1f",
                27: "0bc32647827d8f5a32e6",
                28: "b309758304f2ddd598f5",
                29: "a6d96146d792984f8c00",
                30: "88c2a102a17ac1933e08"
            }[e] + ".js";
        var l = setTimeout(n, 12e4);
        return a.onerror = a.onload = n, s.appendChild(a), o
    }, t.m = e, t.c = i, t.i = function (e) {
        return e
    }, t.d = function (e, n, i) {
        t.o(e, n) || Object.defineProperty(e, n, {configurable: !1, enumerable: !0, get: i})
    }, t.n = function (e) {
        var n = e && e.__esModule ? function () {
            return e.default
        } : function () {
            return e
        };
        return t.d(n, "a", n), n
    }, t.o = function (e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }, t.p = "dist/static/js/", t.oe = function (e) {
        throw console.error(e), e
    }, t(t.s = 130)
}([function (e, t, n) {
    var i, r;
    /*!
     * jQuery JavaScript Library v1.12.4
     * http://jquery.com/
     *
     * Includes Sizzle.js
     * http://sizzlejs.com/
     *
     * Copyright jQuery Foundation and other contributors
     * Released under the MIT license
     * http://jquery.org/license
     *
     * Date: 2016-05-20T17:17Z
     */
    !function (t, n) {
        "object" == typeof e && "object" == typeof e.exports ? e.exports = t.document ? n(t, !0) : function (e) {
            if (!e.document)throw new Error("jQuery requires a window with a document");
            return n(e)
        } : n(t)
    }("undefined" != typeof window ? window : this, function (n, o) {
        function s(e) {
            var t = !!e && "length" in e && e.length, n = ge.type(e);
            return "function" !== n && !ge.isWindow(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)
        }

        function a(e, t, n) {
            if (ge.isFunction(t))return ge.grep(e, function (e, i) {
                return !!t.call(e, i, e) !== n
            });
            if (t.nodeType)return ge.grep(e, function (e) {
                return e === t !== n
            });
            if ("string" == typeof t) {
                if (Ee.test(t))return ge.filter(t, e, n);
                t = ge.filter(t, e)
            }
            return ge.grep(e, function (e) {
                return ge.inArray(e, t) > -1 !== n
            })
        }

        function l(e, t) {
            do {
                e = e[t]
            } while (e && 1 !== e.nodeType);
            return e
        }

        function c(e) {
            var t = {};
            return ge.each(e.match(Le) || [], function (e, n) {
                t[n] = !0
            }), t
        }

        function u() {
            ae.addEventListener ? (ae.removeEventListener("DOMContentLoaded", d), n.removeEventListener("load", d)) : (ae.detachEvent("onreadystatechange", d), n.detachEvent("onload", d))
        }

        function d() {
            (ae.addEventListener || "load" === n.event.type || "complete" === ae.readyState) && (u(), ge.ready())
        }

        function h(e, t, n) {
            if (void 0 === n && 1 === e.nodeType) {
                var i = "data-" + t.replace(Oe, "-$1").toLowerCase();
                if ("string" == typeof(n = e.getAttribute(i))) {
                    try {
                        n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : Re.test(n) ? ge.parseJSON(n) : n)
                    } catch (e) {
                    }
                    ge.data(e, t, n)
                } else n = void 0
            }
            return n
        }

        function p(e) {
            var t;
            for (t in e)if (("data" !== t || !ge.isEmptyObject(e[t])) && "toJSON" !== t)return !1;
            return !0
        }

        function f(e, t, n, i) {
            if (Me(e)) {
                var r, o, s = ge.expando, a = e.nodeType, l = a ? ge.cache : e, c = a ? e[s] : e[s] && s;
                if (c && l[c] && (i || l[c].data) || void 0 !== n || "string" != typeof t)return c || (c = a ? e[s] = se.pop() || ge.guid++ : s), l[c] || (l[c] = a ? {} : {toJSON: ge.noop}), "object" != typeof t && "function" != typeof t || (i ? l[c] = ge.extend(l[c], t) : l[c].data = ge.extend(l[c].data, t)), o = l[c], i || (o.data || (o.data = {}), o = o.data), void 0 !== n && (o[ge.camelCase(t)] = n), "string" == typeof t ? null == (r = o[t]) && (r = o[ge.camelCase(t)]) : r = o, r
            }
        }

        function _(e, t, n) {
            if (Me(e)) {
                var i, r, o = e.nodeType, s = o ? ge.cache : e, a = o ? e[ge.expando] : ge.expando;
                if (s[a]) {
                    if (t && (i = n ? s[a] : s[a].data)) {
                        ge.isArray(t) ? t = t.concat(ge.map(t, ge.camelCase)) : t in i ? t = [t] : (t = ge.camelCase(t), t = t in i ? [t] : t.split(" ")), r = t.length;
                        for (; r--;)delete i[t[r]];
                        if (n ? !p(i) : !ge.isEmptyObject(i))return
                    }
                    (n || (delete s[a].data, p(s[a]))) && (o ? ge.cleanData([e], !0) : _e.deleteExpando || s != s.window ? delete s[a] : s[a] = void 0)
                }
            }
        }

        function g(e, t, n, i) {
            var r, o = 1, s = 20, a = i ? function () {
                    return i.cur()
                } : function () {
                    return ge.css(e, t, "")
                }, l = a(), c = n && n[3] || (ge.cssNumber[t] ? "" : "px"),
                u = (ge.cssNumber[t] || "px" !== c && +l) && Be.exec(ge.css(e, t));
            if (u && u[3] !== c) {
                c = c || u[3], n = n || [], u = +l || 1;
                do {
                    o = o || ".5", u /= o, ge.style(e, t, u + c)
                } while (o !== (o = a() / l) && 1 !== o && --s)
            }
            return n && (u = +u || +l || 0, r = n[1] ? u + (n[1] + 1) * n[2] : +n[2], i && (i.unit = c, i.start = u, i.end = r)), r
        }

        function m(e) {
            var t = Ye.split("|"), n = e.createDocumentFragment();
            if (n.createElement)for (; t.length;)n.createElement(t.pop());
            return n
        }

        function b(e, t) {
            var n, i, r = 0,
                o = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : void 0;
            if (!o)for (o = [], n = e.childNodes || e; null != (i = n[r]); r++)!t || ge.nodeName(i, t) ? o.push(i) : ge.merge(o, b(i, t));
            return void 0 === t || t && ge.nodeName(e, t) ? ge.merge([e], o) : o
        }

        function v(e, t) {
            for (var n, i = 0; null != (n = e[i]); i++)ge._data(n, "globalEval", !t || ge._data(t[i], "globalEval"))
        }

        function y(e) {
            Fe.test(e.type) && (e.defaultChecked = e.checked)
        }

        function x(e, t, n, i, r) {
            for (var o, s, a, l, c, u, d, h = e.length, p = m(t), f = [], _ = 0; _ < h; _++)if ((s = e[_]) || 0 === s)if ("object" === ge.type(s)) ge.merge(f, s.nodeType ? [s] : s); else if (Ge.test(s)) {
                for (l = l || p.appendChild(t.createElement("div")), c = (We.exec(s) || ["", ""])[1].toLowerCase(), d = Xe[c] || Xe._default, l.innerHTML = d[1] + ge.htmlPrefilter(s) + d[2], o = d[0]; o--;)l = l.lastChild;
                if (!_e.leadingWhitespace && Ue.test(s) && f.push(t.createTextNode(Ue.exec(s)[0])), !_e.tbody)for (s = "table" !== c || Ve.test(s) ? "<table>" !== d[1] || Ve.test(s) ? 0 : l : l.firstChild, o = s && s.childNodes.length; o--;)ge.nodeName(u = s.childNodes[o], "tbody") && !u.childNodes.length && s.removeChild(u);
                for (ge.merge(f, l.childNodes), l.textContent = ""; l.firstChild;)l.removeChild(l.firstChild);
                l = p.lastChild
            } else f.push(t.createTextNode(s));
            for (l && p.removeChild(l), _e.appendChecked || ge.grep(b(f, "input"), y), _ = 0; s = f[_++];)if (i && ge.inArray(s, i) > -1) r && r.push(s); else if (a = ge.contains(s.ownerDocument, s), l = b(p.appendChild(s), "script"), a && v(l), n)for (o = 0; s = l[o++];)$e.test(s.type || "") && n.push(s);
            return l = null, p
        }

        function w() {
            return !0
        }

        function k() {
            return !1
        }

        function C() {
            try {
                return ae.activeElement
            } catch (e) {
            }
        }

        function T(e, t, n, i, r, o) {
            var s, a;
            if ("object" == typeof t) {
                "string" != typeof n && (i = i || n, n = void 0);
                for (a in t)T(e, a, n, i, t[a], o);
                return e
            }
            if (null == i && null == r ? (r = n, i = n = void 0) : null == r && ("string" == typeof n ? (r = i, i = void 0) : (r = i, i = n, n = void 0)), !1 === r) r = k; else if (!r)return e;
            return 1 === o && (s = r, r = function (e) {
                return ge().off(e), s.apply(this, arguments)
            }, r.guid = s.guid || (s.guid = ge.guid++)), e.each(function () {
                ge.event.add(this, t, r, i, n)
            })
        }

        function E(e, t) {
            return ge.nodeName(e, "table") && ge.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
        }

        function S(e) {
            return e.type = (null !== ge.find.attr(e, "type")) + "/" + e.type, e
        }

        function N(e) {
            var t = st.exec(e.type);
            return t ? e.type = t[1] : e.removeAttribute("type"), e
        }

        function A(e, t) {
            if (1 === t.nodeType && ge.hasData(e)) {
                var n, i, r, o = ge._data(e), s = ge._data(t, o), a = o.events;
                if (a) {
                    delete s.handle, s.events = {};
                    for (n in a)for (i = 0, r = a[n].length; i < r; i++)ge.event.add(t, n, a[n][i])
                }
                s.data && (s.data = ge.extend({}, s.data))
            }
        }

        function D(e, t) {
            var n, i, r;
            if (1 === t.nodeType) {
                if (n = t.nodeName.toLowerCase(), !_e.noCloneEvent && t[ge.expando]) {
                    r = ge._data(t);
                    for (i in r.events)ge.removeEvent(t, i, r.handle);
                    t.removeAttribute(ge.expando)
                }
                "script" === n && t.text !== e.text ? (S(t).text = e.text, N(t)) : "object" === n ? (t.parentNode && (t.outerHTML = e.outerHTML), _e.html5Clone && e.innerHTML && !ge.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : "input" === n && Fe.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : "option" === n ? t.defaultSelected = t.selected = e.defaultSelected : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
            }
        }

        function L(e, t, n, i) {
            t = ce.apply([], t);
            var r, o, s, a, l, c, u = 0, d = e.length, h = d - 1, p = t[0], f = ge.isFunction(p);
            if (f || d > 1 && "string" == typeof p && !_e.checkClone && ot.test(p))return e.each(function (r) {
                var o = e.eq(r);
                f && (t[0] = p.call(this, r, o.html())), L(o, t, n, i)
            });
            if (d && (c = x(t, e[0].ownerDocument, !1, e, i), r = c.firstChild, 1 === c.childNodes.length && (c = r), r || i)) {
                for (a = ge.map(b(c, "script"), S), s = a.length; u < d; u++)o = c, u !== h && (o = ge.clone(o, !0, !0), s && ge.merge(a, b(o, "script"))), n.call(e[u], o, u);
                if (s)for (l = a[a.length - 1].ownerDocument, ge.map(a, N), u = 0; u < s; u++)o = a[u], $e.test(o.type || "") && !ge._data(o, "globalEval") && ge.contains(l, o) && (o.src ? ge._evalUrl && ge._evalUrl(o.src) : ge.globalEval((o.text || o.textContent || o.innerHTML || "").replace(at, "")));
                c = r = null
            }
            return e
        }

        function I(e, t, n) {
            for (var i, r = t ? ge.filter(t, e) : e, o = 0; null != (i = r[o]); o++)n || 1 !== i.nodeType || ge.cleanData(b(i)), i.parentNode && (n && ge.contains(i.ownerDocument, i) && v(b(i, "script")), i.parentNode.removeChild(i));
            return e
        }

        function j(e, t) {
            var n = ge(t.createElement(e)).appendTo(t.body), i = ge.css(n[0], "display");
            return n.detach(), i
        }

        function M(e) {
            var t = ae, n = dt[e];
            return n || (n = j(e, t), "none" !== n && n || (ut = (ut || ge("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement), t = (ut[0].contentWindow || ut[0].contentDocument).document, t.write(), t.close(), n = j(e, t), ut.detach()), dt[e] = n), n
        }

        function R(e, t) {
            return {
                get: function () {
                    return e() ? void delete this.get : (this.get = t).apply(this, arguments)
                }
            }
        }

        function O(e) {
            if (e in Et)return e;
            for (var t = e.charAt(0).toUpperCase() + e.slice(1), n = Tt.length; n--;)if ((e = Tt[n] + t) in Et)return e
        }

        function H(e, t) {
            for (var n, i, r, o = [], s = 0, a = e.length; s < a; s++)i = e[s], i.style && (o[s] = ge._data(i, "olddisplay"), n = i.style.display, t ? (o[s] || "none" !== n || (i.style.display = ""), "" === i.style.display && Pe(i) && (o[s] = ge._data(i, "olddisplay", M(i.nodeName)))) : (r = Pe(i), (n && "none" !== n || !r) && ge._data(i, "olddisplay", r ? n : ge.css(i, "display"))));
            for (s = 0; s < a; s++)i = e[s], i.style && (t && "none" !== i.style.display && "" !== i.style.display || (i.style.display = t ? o[s] || "" : "none"));
            return e
        }

        function B(e, t, n) {
            var i = wt.exec(t);
            return i ? Math.max(0, i[1] - (n || 0)) + (i[2] || "px") : t
        }

        function q(e, t, n, i, r) {
            for (var o = n === (i ? "border" : "content") ? 4 : "width" === t ? 1 : 0, s = 0; o < 4; o += 2)"margin" === n && (s += ge.css(e, n + qe[o], !0, r)), i ? ("content" === n && (s -= ge.css(e, "padding" + qe[o], !0, r)), "margin" !== n && (s -= ge.css(e, "border" + qe[o] + "Width", !0, r))) : (s += ge.css(e, "padding" + qe[o], !0, r), "padding" !== n && (s += ge.css(e, "border" + qe[o] + "Width", !0, r)));
            return s
        }

        function P(e, t, n) {
            var i = !0, r = "width" === t ? e.offsetWidth : e.offsetHeight, o = gt(e),
                s = _e.boxSizing && "border-box" === ge.css(e, "boxSizing", !1, o);
            if (r <= 0 || null == r) {
                if (r = mt(e, t, o), (r < 0 || null == r) && (r = e.style[t]), pt.test(r))return r;
                i = s && (_e.boxSizingReliable() || r === e.style[t]), r = parseFloat(r) || 0
            }
            return r + q(e, t, n || (s ? "border" : "content"), i, o) + "px"
        }

        function z(e, t, n, i, r) {
            return new z.prototype.init(e, t, n, i, r)
        }

        function F() {
            return n.setTimeout(function () {
                St = void 0
            }), St = ge.now()
        }

        function W(e, t) {
            var n, i = {height: e}, r = 0;
            for (t = t ? 1 : 0; r < 4; r += 2 - t)n = qe[r], i["margin" + n] = i["padding" + n] = e;
            return t && (i.opacity = i.width = e), i
        }

        function $(e, t, n) {
            for (var i, r = (X.tweeners[t] || []).concat(X.tweeners["*"]), o = 0, s = r.length; o < s; o++)if (i = r[o].call(n, t, e))return i
        }

        function U(e, t, n) {
            var i, r, o, s, a, l, c, u = this, d = {}, h = e.style, p = e.nodeType && Pe(e), f = ge._data(e, "fxshow");
            n.queue || (a = ge._queueHooks(e, "fx"), null == a.unqueued && (a.unqueued = 0, l = a.empty.fire, a.empty.fire = function () {
                a.unqueued || l()
            }), a.unqueued++, u.always(function () {
                u.always(function () {
                    a.unqueued--, ge.queue(e, "fx").length || a.empty.fire()
                })
            })), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [h.overflow, h.overflowX, h.overflowY], c = ge.css(e, "display"), "inline" === ("none" === c ? ge._data(e, "olddisplay") || M(e.nodeName) : c) && "none" === ge.css(e, "float") && (_e.inlineBlockNeedsLayout && "inline" !== M(e.nodeName) ? h.zoom = 1 : h.display = "inline-block")), n.overflow && (h.overflow = "hidden", _e.shrinkWrapBlocks() || u.always(function () {
                h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2]
            }));
            for (i in t)if (r = t[i], At.exec(r)) {
                if (delete t[i], o = o || "toggle" === r, r === (p ? "hide" : "show")) {
                    if ("show" !== r || !f || void 0 === f[i])continue;
                    p = !0
                }
                d[i] = f && f[i] || ge.style(e, i)
            } else c = void 0;
            if (ge.isEmptyObject(d)) "inline" === ("none" === c ? M(e.nodeName) : c) && (h.display = c); else {
                f ? "hidden" in f && (p = f.hidden) : f = ge._data(e, "fxshow", {}), o && (f.hidden = !p), p ? ge(e).show() : u.done(function () {
                    ge(e).hide()
                }), u.done(function () {
                    var t;
                    ge._removeData(e, "fxshow");
                    for (t in d)ge.style(e, t, d[t])
                });
                for (i in d)s = $(p ? f[i] : 0, i, u), i in f || (f[i] = s.start, p && (s.end = s.start, s.start = "width" === i || "height" === i ? 1 : 0))
            }
        }

        function Y(e, t) {
            var n, i, r, o, s;
            for (n in e)if (i = ge.camelCase(n), r = t[i], o = e[n], ge.isArray(o) && (r = o[1], o = e[n] = o[0]), n !== i && (e[i] = o, delete e[n]), (s = ge.cssHooks[i]) && "expand" in s) {
                o = s.expand(o), delete e[i];
                for (n in o)n in e || (e[n] = o[n], t[n] = r)
            } else t[i] = r
        }

        function X(e, t, n) {
            var i, r, o = 0, s = X.prefilters.length, a = ge.Deferred().always(function () {
                delete l.elem
            }), l = function () {
                if (r)return !1;
                for (var t = St || F(), n = Math.max(0, c.startTime + c.duration - t), i = n / c.duration || 0, o = 1 - i, s = 0, l = c.tweens.length; s < l; s++)c.tweens[s].run(o);
                return a.notifyWith(e, [c, o, n]), o < 1 && l ? n : (a.resolveWith(e, [c]), !1)
            }, c = a.promise({
                elem: e,
                props: ge.extend({}, t),
                opts: ge.extend(!0, {specialEasing: {}, easing: ge.easing._default}, n),
                originalProperties: t,
                originalOptions: n,
                startTime: St || F(),
                duration: n.duration,
                tweens: [],
                createTween: function (t, n) {
                    var i = ge.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing);
                    return c.tweens.push(i), i
                },
                stop: function (t) {
                    var n = 0, i = t ? c.tweens.length : 0;
                    if (r)return this;
                    for (r = !0; n < i; n++)c.tweens[n].run(1);
                    return t ? (a.notifyWith(e, [c, 1, 0]), a.resolveWith(e, [c, t])) : a.rejectWith(e, [c, t]), this
                }
            }), u = c.props;
            for (Y(u, c.opts.specialEasing); o < s; o++)if (i = X.prefilters[o].call(c, e, u, c.opts))return ge.isFunction(i.stop) && (ge._queueHooks(c.elem, c.opts.queue).stop = ge.proxy(i.stop, i)), i;
            return ge.map(u, $, c), ge.isFunction(c.opts.start) && c.opts.start.call(e, c), ge.fx.timer(ge.extend(l, {
                elem: e,
                anim: c,
                queue: c.opts.queue
            })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always)
        }

        function G(e) {
            return ge.attr(e, "class") || ""
        }

        function V(e) {
            return function (t, n) {
                "string" != typeof t && (n = t, t = "*");
                var i, r = 0, o = t.toLowerCase().match(Le) || [];
                if (ge.isFunction(n))for (; i = o[r++];)"+" === i.charAt(0) ? (i = i.slice(1) || "*", (e[i] = e[i] || []).unshift(n)) : (e[i] = e[i] || []).push(n)
            }
        }

        function J(e, t, n, i) {
            function r(a) {
                var l;
                return o[a] = !0, ge.each(e[a] || [], function (e, a) {
                    var c = a(t, n, i);
                    return "string" != typeof c || s || o[c] ? s ? !(l = c) : void 0 : (t.dataTypes.unshift(c), r(c), !1)
                }), l
            }

            var o = {}, s = e === en;
            return r(t.dataTypes[0]) || !o["*"] && r("*")
        }

        function K(e, t) {
            var n, i, r = ge.ajaxSettings.flatOptions || {};
            for (i in t)void 0 !== t[i] && ((r[i] ? e : n || (n = {}))[i] = t[i]);
            return n && ge.extend(!0, e, n), e
        }

        function Q(e, t, n) {
            for (var i, r, o, s, a = e.contents, l = e.dataTypes; "*" === l[0];)l.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
            if (r)for (s in a)if (a[s] && a[s].test(r)) {
                l.unshift(s);
                break
            }
            if (l[0] in n) o = l[0]; else {
                for (s in n) {
                    if (!l[0] || e.converters[s + " " + l[0]]) {
                        o = s;
                        break
                    }
                    i || (i = s)
                }
                o = o || i
            }
            if (o)return o !== l[0] && l.unshift(o), n[o]
        }

        function Z(e, t, n, i) {
            var r, o, s, a, l, c = {}, u = e.dataTypes.slice();
            if (u[1])for (s in e.converters)c[s.toLowerCase()] = e.converters[s];
            for (o = u.shift(); o;)if (e.responseFields[o] && (n[e.responseFields[o]] = t), !l && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = o, o = u.shift())if ("*" === o) o = l; else if ("*" !== l && l !== o) {
                if (!(s = c[l + " " + o] || c["* " + o]))for (r in c)if (a = r.split(" "), a[1] === o && (s = c[l + " " + a[0]] || c["* " + a[0]])) {
                    !0 === s ? s = c[r] : !0 !== c[r] && (o = a[0], u.unshift(a[1]));
                    break
                }
                if (!0 !== s)if (s && e.throws) t = s(t); else try {
                    t = s(t)
                } catch (e) {
                    return {state: "parsererror", error: s ? e : "No conversion from " + l + " to " + o}
                }
            }
            return {state: "success", data: t}
        }

        function ee(e) {
            return e.style && e.style.display || ge.css(e, "display")
        }

        function te(e) {
            if (!ge.contains(e.ownerDocument || ae, e))return !0;
            for (; e && 1 === e.nodeType;) {
                if ("none" === ee(e) || "hidden" === e.type)return !0;
                e = e.parentNode
            }
            return !1
        }

        function ne(e, t, n, i) {
            var r;
            if (ge.isArray(t)) ge.each(t, function (t, r) {
                n || sn.test(e) ? i(e, r) : ne(e + "[" + ("object" == typeof r && null != r ? t : "") + "]", r, n, i)
            }); else if (n || "object" !== ge.type(t)) i(e, t); else for (r in t)ne(e + "[" + r + "]", t[r], n, i)
        }

        function ie() {
            try {
                return new n.XMLHttpRequest
            } catch (e) {
            }
        }

        function re() {
            try {
                return new n.ActiveXObject("Microsoft.XMLHTTP")
            } catch (e) {
            }
        }

        function oe(e) {
            return ge.isWindow(e) ? e : 9 === e.nodeType && (e.defaultView || e.parentWindow)
        }

        var se = [], ae = n.document, le = se.slice, ce = se.concat, ue = se.push, de = se.indexOf, he = {},
            pe = he.toString, fe = he.hasOwnProperty, _e = {}, ge = function (e, t) {
                return new ge.fn.init(e, t)
            }, me = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, be = /^-ms-/, ve = /-([\da-z])/gi, ye = function (e, t) {
                return t.toUpperCase()
            };
        ge.fn = ge.prototype = {
            jquery: "1.12.4", constructor: ge, selector: "", length: 0, toArray: function () {
                return le.call(this)
            }, get: function (e) {
                return null != e ? e < 0 ? this[e + this.length] : this[e] : le.call(this)
            }, pushStack: function (e) {
                var t = ge.merge(this.constructor(), e);
                return t.prevObject = this, t.context = this.context, t
            }, each: function (e) {
                return ge.each(this, e)
            }, map: function (e) {
                return this.pushStack(ge.map(this, function (t, n) {
                    return e.call(t, n, t)
                }))
            }, slice: function () {
                return this.pushStack(le.apply(this, arguments))
            }, first: function () {
                return this.eq(0)
            }, last: function () {
                return this.eq(-1)
            }, eq: function (e) {
                var t = this.length, n = +e + (e < 0 ? t : 0);
                return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
            }, end: function () {
                return this.prevObject || this.constructor()
            }, push: ue, sort: se.sort, splice: se.splice
        }, ge.extend = ge.fn.extend = function () {
            var e, t, n, i, r, o, s = arguments[0] || {}, a = 1, l = arguments.length, c = !1;
            for ("boolean" == typeof s && (c = s, s = arguments[a] || {}, a++), "object" == typeof s || ge.isFunction(s) || (s = {}), a === l && (s = this, a--); a < l; a++)if (null != (r = arguments[a]))for (i in r)e = s[i], n = r[i], s !== n && (c && n && (ge.isPlainObject(n) || (t = ge.isArray(n))) ? (t ? (t = !1, o = e && ge.isArray(e) ? e : []) : o = e && ge.isPlainObject(e) ? e : {}, s[i] = ge.extend(c, o, n)) : void 0 !== n && (s[i] = n));
            return s
        }, ge.extend({
            expando: "jQuery" + ("1.12.4" + Math.random()).replace(/\D/g, ""),
            isReady: !0,
            error: function (e) {
                throw new Error(e)
            },
            noop: function () {
            },
            isFunction: function (e) {
                return "function" === ge.type(e)
            },
            isArray: Array.isArray || function (e) {
                return "array" === ge.type(e)
            },
            isWindow: function (e) {
                return null != e && e == e.window
            },
            isNumeric: function (e) {
                var t = e && e.toString();
                return !ge.isArray(e) && t - parseFloat(t) + 1 >= 0
            },
            isEmptyObject: function (e) {
                var t;
                for (t in e)return !1;
                return !0
            },
            isPlainObject: function (e) {
                var t;
                if (!e || "object" !== ge.type(e) || e.nodeType || ge.isWindow(e))return !1;
                try {
                    if (e.constructor && !fe.call(e, "constructor") && !fe.call(e.constructor.prototype, "isPrototypeOf"))return !1
                } catch (e) {
                    return !1
                }
                if (!_e.ownFirst)for (t in e)return fe.call(e, t);
                for (t in e);
                return void 0 === t || fe.call(e, t)
            },
            type: function (e) {
                return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? he[pe.call(e)] || "object" : typeof e
            },
            globalEval: function (e) {
                e && ge.trim(e) && (n.execScript || function (e) {
                    n.eval.call(n, e)
                })(e)
            },
            camelCase: function (e) {
                return e.replace(be, "ms-").replace(ve, ye)
            },
            nodeName: function (e, t) {
                return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
            },
            each: function (e, t) {
                var n, i = 0;
                if (s(e))for (n = e.length; i < n && !1 !== t.call(e[i], i, e[i]); i++); else for (i in e)if (!1 === t.call(e[i], i, e[i]))break;
                return e
            },
            trim: function (e) {
                return null == e ? "" : (e + "").replace(me, "")
            },
            makeArray: function (e, t) {
                var n = t || [];
                return null != e && (s(Object(e)) ? ge.merge(n, "string" == typeof e ? [e] : e) : ue.call(n, e)), n
            },
            inArray: function (e, t, n) {
                var i;
                if (t) {
                    if (de)return de.call(t, e, n);
                    for (i = t.length, n = n ? n < 0 ? Math.max(0, i + n) : n : 0; n < i; n++)if (n in t && t[n] === e)return n
                }
                return -1
            },
            merge: function (e, t) {
                for (var n = +t.length, i = 0, r = e.length; i < n;)e[r++] = t[i++];
                if (n !== n)for (; void 0 !== t[i];)e[r++] = t[i++];
                return e.length = r, e
            },
            grep: function (e, t, n) {
                for (var i = [], r = 0, o = e.length, s = !n; r < o; r++)!t(e[r], r) !== s && i.push(e[r]);
                return i
            },
            map: function (e, t, n) {
                var i, r, o = 0, a = [];
                if (s(e))for (i = e.length; o < i; o++)null != (r = t(e[o], o, n)) && a.push(r); else for (o in e)null != (r = t(e[o], o, n)) && a.push(r);
                return ce.apply([], a)
            },
            guid: 1,
            proxy: function (e, t) {
                var n, i, r;
                if ("string" == typeof t && (r = e[t], t = e, e = r), ge.isFunction(e))return n = le.call(arguments, 2), i = function () {
                    return e.apply(t || this, n.concat(le.call(arguments)))
                }, i.guid = e.guid = e.guid || ge.guid++, i
            },
            now: function () {
                return +new Date
            },
            support: _e
        }), "function" == typeof Symbol && (ge.fn[Symbol.iterator] = se[Symbol.iterator]), ge.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) {
            he["[object " + t + "]"] = t.toLowerCase()
        });
        var xe = /*!
         * Sizzle CSS Selector Engine v2.2.1
         * http://sizzlejs.com/
         *
         * Copyright jQuery Foundation and other contributors
         * Released under the MIT license
         * http://jquery.org/license
         *
         * Date: 2015-10-17
         */
            function (e) {
                function t(e, t, n, i) {
                    var r, o, s, a, c, d, h, p, f = t && t.ownerDocument, _ = t ? t.nodeType : 9;
                    if (n = n || [], "string" != typeof e || !e || 1 !== _ && 9 !== _ && 11 !== _)return n;
                    if (!i && ((t ? t.ownerDocument || t : B) !== D && A(t), t = t || D, I)) {
                        if (11 !== _ && (d = _e.exec(e)))if (r = d[1]) {
                            if (9 === _) {
                                if (!(s = t.getElementById(r)))return n;
                                if (s.id === r)return n.push(s), n
                            } else if (f && (s = f.getElementById(r)) && O(t, s) && s.id === r)return n.push(s), n
                        } else {
                            if (d[2])return J.apply(n, t.getElementsByTagName(e)), n;
                            if ((r = d[3]) && v.getElementsByClassName && t.getElementsByClassName)return J.apply(n, t.getElementsByClassName(r)), n
                        }
                        if (v.qsa && !W[e + " "] && (!j || !j.test(e))) {
                            if (1 !== _) f = t, p = e; else if ("object" !== t.nodeName.toLowerCase()) {
                                for ((a = t.getAttribute("id")) ? a = a.replace(me, "\\$&") : t.setAttribute("id", a = H), h = k(e), o = h.length, c = ue.test(a) ? "#" + a : "[id='" + a + "']"; o--;)h[o] = c + " " + u(h[o]);
                                p = h.join(","), f = ge.test(e) && l(t.parentNode) || t
                            }
                            if (p)try {
                                return J.apply(n, f.querySelectorAll(p)), n
                            } catch (e) {
                            } finally {
                                a === H && t.removeAttribute("id")
                            }
                        }
                    }
                    return T(e.replace(oe, "$1"), t, n, i)
                }

                function n() {
                    function e(n, i) {
                        return t.push(n + " ") > y.cacheLength && delete e[t.shift()], e[n + " "] = i
                    }

                    var t = [];
                    return e
                }

                function i(e) {
                    return e[H] = !0, e
                }

                function r(e) {
                    var t = D.createElement("div");
                    try {
                        return !!e(t)
                    } catch (e) {
                        return !1
                    } finally {
                        t.parentNode && t.parentNode.removeChild(t), t = null
                    }
                }

                function o(e, t) {
                    for (var n = e.split("|"), i = n.length; i--;)y.attrHandle[n[i]] = t
                }

                function s(e, t) {
                    var n = t && e,
                        i = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || U) - (~e.sourceIndex || U);
                    if (i)return i;
                    if (n)for (; n = n.nextSibling;)if (n === t)return -1;
                    return e ? 1 : -1
                }

                function a(e) {
                    return i(function (t) {
                        return t = +t, i(function (n, i) {
                            for (var r, o = e([], n.length, t), s = o.length; s--;)n[r = o[s]] && (n[r] = !(i[r] = n[r]))
                        })
                    })
                }

                function l(e) {
                    return e && void 0 !== e.getElementsByTagName && e
                }

                function c() {
                }

                function u(e) {
                    for (var t = 0, n = e.length, i = ""; t < n; t++)i += e[t].value;
                    return i
                }

                function d(e, t, n) {
                    var i = t.dir, r = n && "parentNode" === i, o = P++;
                    return t.first ? function (t, n, o) {
                        for (; t = t[i];)if (1 === t.nodeType || r)return e(t, n, o)
                    } : function (t, n, s) {
                        var a, l, c, u = [q, o];
                        if (s) {
                            for (; t = t[i];)if ((1 === t.nodeType || r) && e(t, n, s))return !0
                        } else for (; t = t[i];)if (1 === t.nodeType || r) {
                            if (c = t[H] || (t[H] = {}), l = c[t.uniqueID] || (c[t.uniqueID] = {}), (a = l[i]) && a[0] === q && a[1] === o)return u[2] = a[2];
                            if (l[i] = u, u[2] = e(t, n, s))return !0
                        }
                    }
                }

                function h(e) {
                    return e.length > 1 ? function (t, n, i) {
                        for (var r = e.length; r--;)if (!e[r](t, n, i))return !1;
                        return !0
                    } : e[0]
                }

                function p(e, n, i) {
                    for (var r = 0, o = n.length; r < o; r++)t(e, n[r], i);
                    return i
                }

                function f(e, t, n, i, r) {
                    for (var o, s = [], a = 0, l = e.length, c = null != t; a < l; a++)(o = e[a]) && (n && !n(o, i, r) || (s.push(o), c && t.push(a)));
                    return s
                }

                function _(e, t, n, r, o, s) {
                    return r && !r[H] && (r = _(r)), o && !o[H] && (o = _(o, s)), i(function (i, s, a, l) {
                        var c, u, d, h = [], _ = [], g = s.length, m = i || p(t || "*", a.nodeType ? [a] : a, []),
                            b = !e || !i && t ? m : f(m, h, e, a, l), v = n ? o || (i ? e : g || r) ? [] : s : b;
                        if (n && n(b, v, a, l), r)for (c = f(v, _), r(c, [], a, l), u = c.length; u--;)(d = c[u]) && (v[_[u]] = !(b[_[u]] = d));
                        if (i) {
                            if (o || e) {
                                if (o) {
                                    for (c = [], u = v.length; u--;)(d = v[u]) && c.push(b[u] = d);
                                    o(null, v = [], c, l)
                                }
                                for (u = v.length; u--;)(d = v[u]) && (c = o ? Q(i, d) : h[u]) > -1 && (i[c] = !(s[c] = d))
                            }
                        } else v = f(v === s ? v.splice(g, v.length) : v), o ? o(null, s, v, l) : J.apply(s, v)
                    })
                }

                function g(e) {
                    for (var t, n, i, r = e.length, o = y.relative[e[0].type], s = o || y.relative[" "], a = o ? 1 : 0, l = d(function (e) {
                        return e === t
                    }, s, !0), c = d(function (e) {
                        return Q(t, e) > -1
                    }, s, !0), p = [function (e, n, i) {
                        var r = !o && (i || n !== E) || ((t = n).nodeType ? l(e, n, i) : c(e, n, i));
                        return t = null, r
                    }]; a < r; a++)if (n = y.relative[e[a].type]) p = [d(h(p), n)]; else {
                        if (n = y.filter[e[a].type].apply(null, e[a].matches), n[H]) {
                            for (i = ++a; i < r && !y.relative[e[i].type]; i++);
                            return _(a > 1 && h(p), a > 1 && u(e.slice(0, a - 1).concat({value: " " === e[a - 2].type ? "*" : ""})).replace(oe, "$1"), n, a < i && g(e.slice(a, i)), i < r && g(e = e.slice(i)), i < r && u(e))
                        }
                        p.push(n)
                    }
                    return h(p)
                }

                function m(e, n) {
                    var r = n.length > 0, o = e.length > 0, s = function (i, s, a, l, c) {
                        var u, d, h, p = 0, _ = "0", g = i && [], m = [], b = E, v = i || o && y.find.TAG("*", c),
                            x = q += null == b ? 1 : Math.random() || .1, w = v.length;
                        for (c && (E = s === D || s || c); _ !== w && null != (u = v[_]); _++) {
                            if (o && u) {
                                for (d = 0, s || u.ownerDocument === D || (A(u), a = !I); h = e[d++];)if (h(u, s || D, a)) {
                                    l.push(u);
                                    break
                                }
                                c && (q = x)
                            }
                            r && ((u = !h && u) && p--, i && g.push(u))
                        }
                        if (p += _, r && _ !== p) {
                            for (d = 0; h = n[d++];)h(g, m, s, a);
                            if (i) {
                                if (p > 0)for (; _--;)g[_] || m[_] || (m[_] = G.call(l));
                                m = f(m)
                            }
                            J.apply(l, m), c && !i && m.length > 0 && p + n.length > 1 && t.uniqueSort(l)
                        }
                        return c && (q = x, E = b), g
                    };
                    return r ? i(s) : s
                }

                var b, v, y, x, w, k, C, T, E, S, N, A, D, L, I, j, M, R, O, H = "sizzle" + 1 * new Date,
                    B = e.document, q = 0, P = 0, z = n(), F = n(), W = n(), $ = function (e, t) {
                        return e === t && (N = !0), 0
                    }, U = 1 << 31, Y = {}.hasOwnProperty, X = [], G = X.pop, V = X.push, J = X.push, K = X.slice,
                    Q = function (e, t) {
                        for (var n = 0, i = e.length; n < i; n++)if (e[n] === t)return n;
                        return -1
                    },
                    Z = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
                    ee = "[\\x20\\t\\r\\n\\f]", te = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
                    ne = "\\[" + ee + "*(" + te + ")(?:" + ee + "*([*^$|!~]?=)" + ee + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + te + "))|)" + ee + "*\\]",
                    ie = ":(" + te + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + ne + ")*)|.*)\\)|)",
                    re = new RegExp(ee + "+", "g"),
                    oe = new RegExp("^" + ee + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ee + "+$", "g"),
                    se = new RegExp("^" + ee + "*," + ee + "*"),
                    ae = new RegExp("^" + ee + "*([>+~]|" + ee + ")" + ee + "*"),
                    le = new RegExp("=" + ee + "*([^\\]'\"]*?)" + ee + "*\\]", "g"), ce = new RegExp(ie),
                    ue = new RegExp("^" + te + "$"), de = {
                        ID: new RegExp("^#(" + te + ")"),
                        CLASS: new RegExp("^\\.(" + te + ")"),
                        TAG: new RegExp("^(" + te + "|[*])"),
                        ATTR: new RegExp("^" + ne),
                        PSEUDO: new RegExp("^" + ie),
                        CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ee + "*(even|odd|(([+-]|)(\\d*)n|)" + ee + "*(?:([+-]|)" + ee + "*(\\d+)|))" + ee + "*\\)|)", "i"),
                        bool: new RegExp("^(?:" + Z + ")$", "i"),
                        needsContext: new RegExp("^" + ee + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ee + "*((?:-\\d)?\\d*)" + ee + "*\\)|)(?=[^-]|$)", "i")
                    }, he = /^(?:input|select|textarea|button)$/i, pe = /^h\d$/i, fe = /^[^{]+\{\s*\[native \w/,
                    _e = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ge = /[+~]/, me = /'|\\/g,
                    be = new RegExp("\\\\([\\da-f]{1,6}" + ee + "?|(" + ee + ")|.)", "ig"), ve = function (e, t, n) {
                        var i = "0x" + t - 65536;
                        return i !== i || n ? t : i < 0 ? String.fromCharCode(i + 65536) : String.fromCharCode(i >> 10 | 55296, 1023 & i | 56320)
                    }, ye = function () {
                        A()
                    };
                try {
                    J.apply(X = K.call(B.childNodes), B.childNodes), X[B.childNodes.length].nodeType
                } catch (e) {
                    J = {
                        apply: X.length ? function (e, t) {
                            V.apply(e, K.call(t))
                        } : function (e, t) {
                            for (var n = e.length, i = 0; e[n++] = t[i++];);
                            e.length = n - 1
                        }
                    }
                }
                v = t.support = {}, w = t.isXML = function (e) {
                    var t = e && (e.ownerDocument || e).documentElement;
                    return !!t && "HTML" !== t.nodeName
                }, A = t.setDocument = function (e) {
                    var t, n, i = e ? e.ownerDocument || e : B;
                    return i !== D && 9 === i.nodeType && i.documentElement ? (D = i, L = D.documentElement, I = !w(D), (n = D.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", ye, !1) : n.attachEvent && n.attachEvent("onunload", ye)), v.attributes = r(function (e) {
                        return e.className = "i", !e.getAttribute("className")
                    }), v.getElementsByTagName = r(function (e) {
                        return e.appendChild(D.createComment("")), !e.getElementsByTagName("*").length
                    }), v.getElementsByClassName = fe.test(D.getElementsByClassName), v.getById = r(function (e) {
                        return L.appendChild(e).id = H, !D.getElementsByName || !D.getElementsByName(H).length
                    }), v.getById ? (y.find.ID = function (e, t) {
                        if (void 0 !== t.getElementById && I) {
                            var n = t.getElementById(e);
                            return n ? [n] : []
                        }
                    }, y.filter.ID = function (e) {
                        var t = e.replace(be, ve);
                        return function (e) {
                            return e.getAttribute("id") === t
                        }
                    }) : (delete y.find.ID, y.filter.ID = function (e) {
                        var t = e.replace(be, ve);
                        return function (e) {
                            var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id");
                            return n && n.value === t
                        }
                    }), y.find.TAG = v.getElementsByTagName ? function (e, t) {
                        return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : v.qsa ? t.querySelectorAll(e) : void 0
                    } : function (e, t) {
                        var n, i = [], r = 0, o = t.getElementsByTagName(e);
                        if ("*" === e) {
                            for (; n = o[r++];)1 === n.nodeType && i.push(n);
                            return i
                        }
                        return o
                    }, y.find.CLASS = v.getElementsByClassName && function (e, t) {
                            if (void 0 !== t.getElementsByClassName && I)return t.getElementsByClassName(e)
                        }, M = [], j = [], (v.qsa = fe.test(D.querySelectorAll)) && (r(function (e) {
                        L.appendChild(e).innerHTML = "<a id='" + H + "'></a><select id='" + H + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && j.push("[*^$]=" + ee + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || j.push("\\[" + ee + "*(?:value|" + Z + ")"), e.querySelectorAll("[id~=" + H + "-]").length || j.push("~="), e.querySelectorAll(":checked").length || j.push(":checked"), e.querySelectorAll("a#" + H + "+*").length || j.push(".#.+[+~]")
                    }), r(function (e) {
                        var t = D.createElement("input");
                        t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && j.push("name" + ee + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || j.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), j.push(",.*:")
                    })), (v.matchesSelector = fe.test(R = L.matches || L.webkitMatchesSelector || L.mozMatchesSelector || L.oMatchesSelector || L.msMatchesSelector)) && r(function (e) {
                        v.disconnectedMatch = R.call(e, "div"), R.call(e, "[s!='']:x"), M.push("!=", ie)
                    }), j = j.length && new RegExp(j.join("|")), M = M.length && new RegExp(M.join("|")), t = fe.test(L.compareDocumentPosition), O = t || fe.test(L.contains) ? function (e, t) {
                        var n = 9 === e.nodeType ? e.documentElement : e, i = t && t.parentNode;
                        return e === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(i)))
                    } : function (e, t) {
                        if (t)for (; t = t.parentNode;)if (t === e)return !0;
                        return !1
                    }, $ = t ? function (e, t) {
                        if (e === t)return N = !0, 0;
                        var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
                        return n || (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & n || !v.sortDetached && t.compareDocumentPosition(e) === n ? e === D || e.ownerDocument === B && O(B, e) ? -1 : t === D || t.ownerDocument === B && O(B, t) ? 1 : S ? Q(S, e) - Q(S, t) : 0 : 4 & n ? -1 : 1)
                    } : function (e, t) {
                        if (e === t)return N = !0, 0;
                        var n, i = 0, r = e.parentNode, o = t.parentNode, a = [e], l = [t];
                        if (!r || !o)return e === D ? -1 : t === D ? 1 : r ? -1 : o ? 1 : S ? Q(S, e) - Q(S, t) : 0;
                        if (r === o)return s(e, t);
                        for (n = e; n = n.parentNode;)a.unshift(n);
                        for (n = t; n = n.parentNode;)l.unshift(n);
                        for (; a[i] === l[i];)i++;
                        return i ? s(a[i], l[i]) : a[i] === B ? -1 : l[i] === B ? 1 : 0
                    }, D) : D
                }, t.matches = function (e, n) {
                    return t(e, null, null, n)
                }, t.matchesSelector = function (e, n) {
                    if ((e.ownerDocument || e) !== D && A(e), n = n.replace(le, "='$1']"), v.matchesSelector && I && !W[n + " "] && (!M || !M.test(n)) && (!j || !j.test(n)))try {
                        var i = R.call(e, n);
                        if (i || v.disconnectedMatch || e.document && 11 !== e.document.nodeType)return i
                    } catch (e) {
                    }
                    return t(n, D, null, [e]).length > 0
                }, t.contains = function (e, t) {
                    return (e.ownerDocument || e) !== D && A(e), O(e, t)
                }, t.attr = function (e, t) {
                    (e.ownerDocument || e) !== D && A(e);
                    var n = y.attrHandle[t.toLowerCase()],
                        i = n && Y.call(y.attrHandle, t.toLowerCase()) ? n(e, t, !I) : void 0;
                    return void 0 !== i ? i : v.attributes || !I ? e.getAttribute(t) : (i = e.getAttributeNode(t)) && i.specified ? i.value : null
                }, t.error = function (e) {
                    throw new Error("Syntax error, unrecognized expression: " + e)
                }, t.uniqueSort = function (e) {
                    var t, n = [], i = 0, r = 0;
                    if (N = !v.detectDuplicates, S = !v.sortStable && e.slice(0), e.sort($), N) {
                        for (; t = e[r++];)t === e[r] && (i = n.push(r));
                        for (; i--;)e.splice(n[i], 1)
                    }
                    return S = null, e
                }, x = t.getText = function (e) {
                    var t, n = "", i = 0, r = e.nodeType;
                    if (r) {
                        if (1 === r || 9 === r || 11 === r) {
                            if ("string" == typeof e.textContent)return e.textContent;
                            for (e = e.firstChild; e; e = e.nextSibling)n += x(e)
                        } else if (3 === r || 4 === r)return e.nodeValue
                    } else for (; t = e[i++];)n += x(t);
                    return n
                }, y = t.selectors = {
                    cacheLength: 50,
                    createPseudo: i,
                    match: de,
                    attrHandle: {},
                    find: {},
                    relative: {
                        ">": {dir: "parentNode", first: !0},
                        " ": {dir: "parentNode"},
                        "+": {dir: "previousSibling", first: !0},
                        "~": {dir: "previousSibling"}
                    },
                    preFilter: {
                        ATTR: function (e) {
                            return e[1] = e[1].replace(be, ve), e[3] = (e[3] || e[4] || e[5] || "").replace(be, ve), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
                        }, CHILD: function (e) {
                            return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && t.error(e[0]), e
                        }, PSEUDO: function (e) {
                            var t, n = !e[6] && e[2];
                            return de.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && ce.test(n) && (t = k(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
                        }
                    },
                    filter: {
                        TAG: function (e) {
                            var t = e.replace(be, ve).toLowerCase();
                            return "*" === e ? function () {
                                return !0
                            } : function (e) {
                                return e.nodeName && e.nodeName.toLowerCase() === t
                            }
                        }, CLASS: function (e) {
                            var t = z[e + " "];
                            return t || (t = new RegExp("(^|" + ee + ")" + e + "(" + ee + "|$)")) && z(e, function (e) {
                                    return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "")
                                })
                        }, ATTR: function (e, n, i) {
                            return function (r) {
                                var o = t.attr(r, e);
                                return null == o ? "!=" === n : !n || (o += "", "=" === n ? o === i : "!=" === n ? o !== i : "^=" === n ? i && 0 === o.indexOf(i) : "*=" === n ? i && o.indexOf(i) > -1 : "$=" === n ? i && o.slice(-i.length) === i : "~=" === n ? (" " + o.replace(re, " ") + " ").indexOf(i) > -1 : "|=" === n && (o === i || o.slice(0, i.length + 1) === i + "-"))
                            }
                        }, CHILD: function (e, t, n, i, r) {
                            var o = "nth" !== e.slice(0, 3), s = "last" !== e.slice(-4), a = "of-type" === t;
                            return 1 === i && 0 === r ? function (e) {
                                return !!e.parentNode
                            } : function (t, n, l) {
                                var c, u, d, h, p, f, _ = o !== s ? "nextSibling" : "previousSibling", g = t.parentNode,
                                    m = a && t.nodeName.toLowerCase(), b = !l && !a, v = !1;
                                if (g) {
                                    if (o) {
                                        for (; _;) {
                                            for (h = t; h = h[_];)if (a ? h.nodeName.toLowerCase() === m : 1 === h.nodeType)return !1;
                                            f = _ = "only" === e && !f && "nextSibling"
                                        }
                                        return !0
                                    }
                                    if (f = [s ? g.firstChild : g.lastChild], s && b) {
                                        for (h = g, d = h[H] || (h[H] = {}), u = d[h.uniqueID] || (d[h.uniqueID] = {}), c = u[e] || [], p = c[0] === q && c[1], v = p && c[2], h = p && g.childNodes[p]; h = ++p && h && h[_] || (v = p = 0) || f.pop();)if (1 === h.nodeType && ++v && h === t) {
                                            u[e] = [q, p, v];
                                            break
                                        }
                                    } else if (b && (h = t, d = h[H] || (h[H] = {}), u = d[h.uniqueID] || (d[h.uniqueID] = {}), c = u[e] || [], p = c[0] === q && c[1], v = p), !1 === v)for (; (h = ++p && h && h[_] || (v = p = 0) || f.pop()) && ((a ? h.nodeName.toLowerCase() !== m : 1 !== h.nodeType) || !++v || (b && (d = h[H] || (h[H] = {}), u = d[h.uniqueID] || (d[h.uniqueID] = {}), u[e] = [q, v]), h !== t)););
                                    return (v -= r) === i || v % i == 0 && v / i >= 0
                                }
                            }
                        }, PSEUDO: function (e, n) {
                            var r,
                                o = y.pseudos[e] || y.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e);
                            return o[H] ? o(n) : o.length > 1 ? (r = [e, e, "", n], y.setFilters.hasOwnProperty(e.toLowerCase()) ? i(function (e, t) {
                                for (var i, r = o(e, n), s = r.length; s--;)i = Q(e, r[s]), e[i] = !(t[i] = r[s])
                            }) : function (e) {
                                return o(e, 0, r)
                            }) : o
                        }
                    },
                    pseudos: {
                        not: i(function (e) {
                            var t = [], n = [], r = C(e.replace(oe, "$1"));
                            return r[H] ? i(function (e, t, n, i) {
                                for (var o, s = r(e, null, i, []), a = e.length; a--;)(o = s[a]) && (e[a] = !(t[a] = o))
                            }) : function (e, i, o) {
                                return t[0] = e, r(t, null, o, n), t[0] = null, !n.pop()
                            }
                        }), has: i(function (e) {
                            return function (n) {
                                return t(e, n).length > 0
                            }
                        }), contains: i(function (e) {
                            return e = e.replace(be, ve), function (t) {
                                return (t.textContent || t.innerText || x(t)).indexOf(e) > -1
                            }
                        }), lang: i(function (e) {
                            return ue.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(be, ve).toLowerCase(), function (t) {
                                var n;
                                do {
                                    if (n = I ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang"))return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-")
                                } while ((t = t.parentNode) && 1 === t.nodeType);
                                return !1
                            }
                        }), target: function (t) {
                            var n = e.location && e.location.hash;
                            return n && n.slice(1) === t.id
                        }, root: function (e) {
                            return e === L
                        }, focus: function (e) {
                            return e === D.activeElement && (!D.hasFocus || D.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
                        }, enabled: function (e) {
                            return !1 === e.disabled
                        }, disabled: function (e) {
                            return !0 === e.disabled
                        }, checked: function (e) {
                            var t = e.nodeName.toLowerCase();
                            return "input" === t && !!e.checked || "option" === t && !!e.selected
                        }, selected: function (e) {
                            return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected
                        }, empty: function (e) {
                            for (e = e.firstChild; e; e = e.nextSibling)if (e.nodeType < 6)return !1;
                            return !0
                        }, parent: function (e) {
                            return !y.pseudos.empty(e)
                        }, header: function (e) {
                            return pe.test(e.nodeName)
                        }, input: function (e) {
                            return he.test(e.nodeName)
                        }, button: function (e) {
                            var t = e.nodeName.toLowerCase();
                            return "input" === t && "button" === e.type || "button" === t
                        }, text: function (e) {
                            var t;
                            return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
                        }, first: a(function () {
                            return [0]
                        }), last: a(function (e, t) {
                            return [t - 1]
                        }), eq: a(function (e, t, n) {
                            return [n < 0 ? n + t : n]
                        }), even: a(function (e, t) {
                            for (var n = 0; n < t; n += 2)e.push(n);
                            return e
                        }), odd: a(function (e, t) {
                            for (var n = 1; n < t; n += 2)e.push(n);
                            return e
                        }), lt: a(function (e, t, n) {
                            for (var i = n < 0 ? n + t : n; --i >= 0;)e.push(i);
                            return e
                        }), gt: a(function (e, t, n) {
                            for (var i = n < 0 ? n + t : n; ++i < t;)e.push(i);
                            return e
                        })
                    }
                }, y.pseudos.nth = y.pseudos.eq;
                for (b in{radio: !0, checkbox: !0, file: !0, password: !0, image: !0})y.pseudos[b] = function (e) {
                    return function (t) {
                        return "input" === t.nodeName.toLowerCase() && t.type === e
                    }
                }(b);
                for (b in{submit: !0, reset: !0})y.pseudos[b] = function (e) {
                    return function (t) {
                        var n = t.nodeName.toLowerCase();
                        return ("input" === n || "button" === n) && t.type === e
                    }
                }(b);
                return c.prototype = y.filters = y.pseudos, y.setFilters = new c, k = t.tokenize = function (e, n) {
                    var i, r, o, s, a, l, c, u = F[e + " "];
                    if (u)return n ? 0 : u.slice(0);
                    for (a = e, l = [], c = y.preFilter; a;) {
                        i && !(r = se.exec(a)) || (r && (a = a.slice(r[0].length) || a), l.push(o = [])), i = !1, (r = ae.exec(a)) && (i = r.shift(), o.push({
                            value: i,
                            type: r[0].replace(oe, " ")
                        }), a = a.slice(i.length));
                        for (s in y.filter)!(r = de[s].exec(a)) || c[s] && !(r = c[s](r)) || (i = r.shift(), o.push({
                            value: i,
                            type: s,
                            matches: r
                        }), a = a.slice(i.length));
                        if (!i)break
                    }
                    return n ? a.length : a ? t.error(e) : F(e, l).slice(0)
                }, C = t.compile = function (e, t) {
                    var n, i = [], r = [], o = W[e + " "];
                    if (!o) {
                        for (t || (t = k(e)), n = t.length; n--;)o = g(t[n]), o[H] ? i.push(o) : r.push(o);
                        o = W(e, m(r, i)), o.selector = e
                    }
                    return o
                }, T = t.select = function (e, t, n, i) {
                    var r, o, s, a, c, d = "function" == typeof e && e, h = !i && k(e = d.selector || e);
                    if (n = n || [], 1 === h.length) {
                        if (o = h[0] = h[0].slice(0), o.length > 2 && "ID" === (s = o[0]).type && v.getById && 9 === t.nodeType && I && y.relative[o[1].type]) {
                            if (!(t = (y.find.ID(s.matches[0].replace(be, ve), t) || [])[0]))return n;
                            d && (t = t.parentNode), e = e.slice(o.shift().value.length)
                        }
                        for (r = de.needsContext.test(e) ? 0 : o.length; r-- && (s = o[r], !y.relative[a = s.type]);)if ((c = y.find[a]) && (i = c(s.matches[0].replace(be, ve), ge.test(o[0].type) && l(t.parentNode) || t))) {
                            if (o.splice(r, 1), !(e = i.length && u(o)))return J.apply(n, i), n;
                            break
                        }
                    }
                    return (d || C(e, h))(i, t, !I, n, !t || ge.test(e) && l(t.parentNode) || t), n
                }, v.sortStable = H.split("").sort($).join("") === H, v.detectDuplicates = !!N, A(), v.sortDetached = r(function (e) {
                    return 1 & e.compareDocumentPosition(D.createElement("div"))
                }), r(function (e) {
                    return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href")
                }) || o("type|href|height|width", function (e, t, n) {
                    if (!n)return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
                }), v.attributes && r(function (e) {
                    return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
                }) || o("value", function (e, t, n) {
                    if (!n && "input" === e.nodeName.toLowerCase())return e.defaultValue
                }), r(function (e) {
                    return null == e.getAttribute("disabled")
                }) || o(Z, function (e, t, n) {
                    var i;
                    if (!n)return !0 === e[t] ? t.toLowerCase() : (i = e.getAttributeNode(t)) && i.specified ? i.value : null
                }), t
            }(n);
        ge.find = xe, ge.expr = xe.selectors, ge.expr[":"] = ge.expr.pseudos, ge.uniqueSort = ge.unique = xe.uniqueSort, ge.text = xe.getText, ge.isXMLDoc = xe.isXML, ge.contains = xe.contains;
        var we = function (e, t, n) {
            for (var i = [], r = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;)if (1 === e.nodeType) {
                if (r && ge(e).is(n))break;
                i.push(e)
            }
            return i
        }, ke = function (e, t) {
            for (var n = []; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e);
            return n
        }, Ce = ge.expr.match.needsContext, Te = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, Ee = /^.[^:#\[\.,]*$/;
        ge.filter = function (e, t, n) {
            var i = t[0];
            return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === i.nodeType ? ge.find.matchesSelector(i, e) ? [i] : [] : ge.find.matches(e, ge.grep(t, function (e) {
                return 1 === e.nodeType
            }))
        }, ge.fn.extend({
            find: function (e) {
                var t, n = [], i = this, r = i.length;
                if ("string" != typeof e)return this.pushStack(ge(e).filter(function () {
                    for (t = 0; t < r; t++)if (ge.contains(i[t], this))return !0
                }));
                for (t = 0; t < r; t++)ge.find(e, i[t], n);
                return n = this.pushStack(r > 1 ? ge.unique(n) : n), n.selector = this.selector ? this.selector + " " + e : e, n
            }, filter: function (e) {
                return this.pushStack(a(this, e || [], !1))
            }, not: function (e) {
                return this.pushStack(a(this, e || [], !0))
            }, is: function (e) {
                return !!a(this, "string" == typeof e && Ce.test(e) ? ge(e) : e || [], !1).length
            }
        });
        var Se, Ne = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;
        (ge.fn.init = function (e, t, n) {
            var i, r;
            if (!e)return this;
            if (n = n || Se, "string" == typeof e) {
                if (!(i = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : Ne.exec(e)) || !i[1] && t)return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
                if (i[1]) {
                    if (t = t instanceof ge ? t[0] : t, ge.merge(this, ge.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : ae, !0)), Te.test(i[1]) && ge.isPlainObject(t))for (i in t)ge.isFunction(this[i]) ? this[i](t[i]) : this.attr(i, t[i]);
                    return this
                }
                if ((r = ae.getElementById(i[2])) && r.parentNode) {
                    if (r.id !== i[2])return Se.find(e);
                    this.length = 1, this[0] = r
                }
                return this.context = ae, this.selector = e, this
            }
            return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : ge.isFunction(e) ? void 0 !== n.ready ? n.ready(e) : e(ge) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), ge.makeArray(e, this))
        }).prototype = ge.fn, Se = ge(ae);
        var Ae = /^(?:parents|prev(?:Until|All))/, De = {children: !0, contents: !0, next: !0, prev: !0};
        ge.fn.extend({
            has: function (e) {
                var t, n = ge(e, this), i = n.length;
                return this.filter(function () {
                    for (t = 0; t < i; t++)if (ge.contains(this, n[t]))return !0
                })
            }, closest: function (e, t) {
                for (var n, i = 0, r = this.length, o = [], s = Ce.test(e) || "string" != typeof e ? ge(e, t || this.context) : 0; i < r; i++)for (n = this[i]; n && n !== t; n = n.parentNode)if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && ge.find.matchesSelector(n, e))) {
                    o.push(n);
                    break
                }
                return this.pushStack(o.length > 1 ? ge.uniqueSort(o) : o)
            }, index: function (e) {
                return e ? "string" == typeof e ? ge.inArray(this[0], ge(e)) : ge.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
            }, add: function (e, t) {
                return this.pushStack(ge.uniqueSort(ge.merge(this.get(), ge(e, t))))
            }, addBack: function (e) {
                return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
            }
        }), ge.each({
            parent: function (e) {
                var t = e.parentNode;
                return t && 11 !== t.nodeType ? t : null
            }, parents: function (e) {
                return we(e, "parentNode")
            }, parentsUntil: function (e, t, n) {
                return we(e, "parentNode", n)
            }, next: function (e) {
                return l(e, "nextSibling")
            }, prev: function (e) {
                return l(e, "previousSibling")
            }, nextAll: function (e) {
                return we(e, "nextSibling")
            }, prevAll: function (e) {
                return we(e, "previousSibling")
            }, nextUntil: function (e, t, n) {
                return we(e, "nextSibling", n)
            }, prevUntil: function (e, t, n) {
                return we(e, "previousSibling", n)
            }, siblings: function (e) {
                return ke((e.parentNode || {}).firstChild, e)
            }, children: function (e) {
                return ke(e.firstChild)
            }, contents: function (e) {
                return ge.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : ge.merge([], e.childNodes)
            }
        }, function (e, t) {
            ge.fn[e] = function (n, i) {
                var r = ge.map(this, t, n);
                return "Until" !== e.slice(-5) && (i = n), i && "string" == typeof i && (r = ge.filter(i, r)), this.length > 1 && (De[e] || (r = ge.uniqueSort(r)), Ae.test(e) && (r = r.reverse())), this.pushStack(r)
            }
        });
        var Le = /\S+/g;
        ge.Callbacks = function (e) {
            e = "string" == typeof e ? c(e) : ge.extend({}, e);
            var t, n, i, r, o = [], s = [], a = -1, l = function () {
                for (r = e.once, i = t = !0; s.length; a = -1)for (n = s.shift(); ++a < o.length;)!1 === o[a].apply(n[0], n[1]) && e.stopOnFalse && (a = o.length, n = !1);
                e.memory || (n = !1), t = !1, r && (o = n ? [] : "")
            }, u = {
                add: function () {
                    return o && (n && !t && (a = o.length - 1, s.push(n)), function t(n) {
                        ge.each(n, function (n, i) {
                            ge.isFunction(i) ? e.unique && u.has(i) || o.push(i) : i && i.length && "string" !== ge.type(i) && t(i)
                        })
                    }(arguments), n && !t && l()), this
                }, remove: function () {
                    return ge.each(arguments, function (e, t) {
                        for (var n; (n = ge.inArray(t, o, n)) > -1;)o.splice(n, 1), n <= a && a--
                    }), this
                }, has: function (e) {
                    return e ? ge.inArray(e, o) > -1 : o.length > 0
                }, empty: function () {
                    return o && (o = []), this
                }, disable: function () {
                    return r = s = [], o = n = "", this
                }, disabled: function () {
                    return !o
                }, lock: function () {
                    return r = !0, n || u.disable(), this
                }, locked: function () {
                    return !!r
                }, fireWith: function (e, n) {
                    return r || (n = n || [], n = [e, n.slice ? n.slice() : n], s.push(n), t || l()), this
                }, fire: function () {
                    return u.fireWith(this, arguments), this
                }, fired: function () {
                    return !!i
                }
            };
            return u
        }, ge.extend({
            Deferred: function (e) {
                var t = [["resolve", "done", ge.Callbacks("once memory"), "resolved"], ["reject", "fail", ge.Callbacks("once memory"), "rejected"], ["notify", "progress", ge.Callbacks("memory")]],
                    n = "pending", i = {
                        state: function () {
                            return n
                        }, always: function () {
                            return r.done(arguments).fail(arguments), this
                        }, then: function () {
                            var e = arguments;
                            return ge.Deferred(function (n) {
                                ge.each(t, function (t, o) {
                                    var s = ge.isFunction(e[t]) && e[t];
                                    r[o[1]](function () {
                                        var e = s && s.apply(this, arguments);
                                        e && ge.isFunction(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[o[0] + "With"](this === i ? n.promise() : this, s ? [e] : arguments)
                                    })
                                }), e = null
                            }).promise()
                        }, promise: function (e) {
                            return null != e ? ge.extend(e, i) : i
                        }
                    }, r = {};
                return i.pipe = i.then, ge.each(t, function (e, o) {
                    var s = o[2], a = o[3];
                    i[o[1]] = s.add, a && s.add(function () {
                        n = a
                    }, t[1 ^ e][2].disable, t[2][2].lock), r[o[0]] = function () {
                        return r[o[0] + "With"](this === r ? i : this, arguments), this
                    }, r[o[0] + "With"] = s.fireWith
                }), i.promise(r), e && e.call(r, r), r
            }, when: function (e) {
                var t, n, i, r = 0, o = le.call(arguments), s = o.length,
                    a = 1 !== s || e && ge.isFunction(e.promise) ? s : 0, l = 1 === a ? e : ge.Deferred(),
                    c = function (e, n, i) {
                        return function (r) {
                            n[e] = this, i[e] = arguments.length > 1 ? le.call(arguments) : r, i === t ? l.notifyWith(n, i) : --a || l.resolveWith(n, i)
                        }
                    };
                if (s > 1)for (t = new Array(s), n = new Array(s), i = new Array(s); r < s; r++)o[r] && ge.isFunction(o[r].promise) ? o[r].promise().progress(c(r, n, t)).done(c(r, i, o)).fail(l.reject) : --a;
                return a || l.resolveWith(i, o), l.promise()
            }
        });
        var Ie;
        ge.fn.ready = function (e) {
            return ge.ready.promise().done(e), this
        }, ge.extend({
            isReady: !1, readyWait: 1, holdReady: function (e) {
                e ? ge.readyWait++ : ge.ready(!0)
            }, ready: function (e) {
                (!0 === e ? --ge.readyWait : ge.isReady) || (ge.isReady = !0, !0 !== e && --ge.readyWait > 0 || (Ie.resolveWith(ae, [ge]), ge.fn.triggerHandler && (ge(ae).triggerHandler("ready"), ge(ae).off("ready"))))
            }
        }), ge.ready.promise = function (e) {
            if (!Ie)if (Ie = ge.Deferred(), "complete" === ae.readyState || "loading" !== ae.readyState && !ae.documentElement.doScroll) n.setTimeout(ge.ready); else if (ae.addEventListener) ae.addEventListener("DOMContentLoaded", d), n.addEventListener("load", d); else {
                ae.attachEvent("onreadystatechange", d), n.attachEvent("onload", d);
                var t = !1;
                try {
                    t = null == n.frameElement && ae.documentElement
                } catch (e) {
                }
                t && t.doScroll && function e() {
                    if (!ge.isReady) {
                        try {
                            t.doScroll("left")
                        } catch (t) {
                            return n.setTimeout(e, 50)
                        }
                        u(), ge.ready()
                    }
                }()
            }
            return Ie.promise(e)
        }, ge.ready.promise();
        var je;
        for (je in ge(_e))break;
        _e.ownFirst = "0" === je, _e.inlineBlockNeedsLayout = !1, ge(function () {
            var e, t, n, i;
            (n = ae.getElementsByTagName("body")[0]) && n.style && (t = ae.createElement("div"), i = ae.createElement("div"), i.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", n.appendChild(i).appendChild(t), void 0 !== t.style.zoom && (t.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1", _e.inlineBlockNeedsLayout = e = 3 === t.offsetWidth, e && (n.style.zoom = 1)), n.removeChild(i))
        }), function () {
            var e = ae.createElement("div");
            _e.deleteExpando = !0;
            try {
                delete e.test
            } catch (e) {
                _e.deleteExpando = !1
            }
            e = null
        }();
        var Me = function (e) {
            var t = ge.noData[(e.nodeName + " ").toLowerCase()], n = +e.nodeType || 1;
            return (1 === n || 9 === n) && (!t || !0 !== t && e.getAttribute("classid") === t)
        }, Re = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, Oe = /([A-Z])/g;
        ge.extend({
            cache: {},
            noData: {"applet ": !0, "embed ": !0, "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},
            hasData: function (e) {
                return !!(e = e.nodeType ? ge.cache[e[ge.expando]] : e[ge.expando]) && !p(e)
            },
            data: function (e, t, n) {
                return f(e, t, n)
            },
            removeData: function (e, t) {
                return _(e, t)
            },
            _data: function (e, t, n) {
                return f(e, t, n, !0)
            },
            _removeData: function (e, t) {
                return _(e, t, !0)
            }
        }), ge.fn.extend({
            data: function (e, t) {
                var n, i, r, o = this[0], s = o && o.attributes;
                if (void 0 === e) {
                    if (this.length && (r = ge.data(o), 1 === o.nodeType && !ge._data(o, "parsedAttrs"))) {
                        for (n = s.length; n--;)s[n] && (i = s[n].name, 0 === i.indexOf("data-") && (i = ge.camelCase(i.slice(5)), h(o, i, r[i])));
                        ge._data(o, "parsedAttrs", !0)
                    }
                    return r
                }
                return "object" == typeof e ? this.each(function () {
                    ge.data(this, e)
                }) : arguments.length > 1 ? this.each(function () {
                    ge.data(this, e, t)
                }) : o ? h(o, e, ge.data(o, e)) : void 0
            }, removeData: function (e) {
                return this.each(function () {
                    ge.removeData(this, e)
                })
            }
        }), ge.extend({
            queue: function (e, t, n) {
                var i;
                if (e)return t = (t || "fx") + "queue", i = ge._data(e, t), n && (!i || ge.isArray(n) ? i = ge._data(e, t, ge.makeArray(n)) : i.push(n)), i || []
            }, dequeue: function (e, t) {
                t = t || "fx";
                var n = ge.queue(e, t), i = n.length, r = n.shift(), o = ge._queueHooks(e, t), s = function () {
                    ge.dequeue(e, t)
                };
                "inprogress" === r && (r = n.shift(), i--), r && ("fx" === t && n.unshift("inprogress"), delete o.stop, r.call(e, s, o)), !i && o && o.empty.fire()
            }, _queueHooks: function (e, t) {
                var n = t + "queueHooks";
                return ge._data(e, n) || ge._data(e, n, {
                        empty: ge.Callbacks("once memory").add(function () {
                            ge._removeData(e, t + "queue"), ge._removeData(e, n)
                        })
                    })
            }
        }), ge.fn.extend({
            queue: function (e, t) {
                var n = 2;
                return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? ge.queue(this[0], e) : void 0 === t ? this : this.each(function () {
                    var n = ge.queue(this, e, t);
                    ge._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && ge.dequeue(this, e)
                })
            }, dequeue: function (e) {
                return this.each(function () {
                    ge.dequeue(this, e)
                })
            }, clearQueue: function (e) {
                return this.queue(e || "fx", [])
            }, promise: function (e, t) {
                var n, i = 1, r = ge.Deferred(), o = this, s = this.length, a = function () {
                    --i || r.resolveWith(o, [o])
                };
                for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; s--;)(n = ge._data(o[s], e + "queueHooks")) && n.empty && (i++, n.empty.add(a));
                return a(), r.promise(t)
            }
        }), function () {
            var e;
            _e.shrinkWrapBlocks = function () {
                if (null != e)return e;
                e = !1;
                var t, n, i;
                return (n = ae.getElementsByTagName("body")[0]) && n.style ? (t = ae.createElement("div"), i = ae.createElement("div"), i.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", n.appendChild(i).appendChild(t), void 0 !== t.style.zoom && (t.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1", t.appendChild(ae.createElement("div")).style.width = "5px", e = 3 !== t.offsetWidth), n.removeChild(i), e) : void 0
            }
        }();
        var He = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
            Be = new RegExp("^(?:([+-])=|)(" + He + ")([a-z%]*)$", "i"), qe = ["Top", "Right", "Bottom", "Left"],
            Pe = function (e, t) {
                return e = t || e, "none" === ge.css(e, "display") || !ge.contains(e.ownerDocument, e)
            }, ze = function (e, t, n, i, r, o, s) {
                var a = 0, l = e.length, c = null == n;
                if ("object" === ge.type(n)) {
                    r = !0;
                    for (a in n)ze(e, t, a, n[a], !0, o, s)
                } else if (void 0 !== i && (r = !0, ge.isFunction(i) || (s = !0), c && (s ? (t.call(e, i), t = null) : (c = t, t = function (e, t, n) {
                        return c.call(ge(e), n)
                    })), t))for (; a < l; a++)t(e[a], n, s ? i : i.call(e[a], a, t(e[a], n)));
                return r ? e : c ? t.call(e) : l ? t(e[0], n) : o
            }, Fe = /^(?:checkbox|radio)$/i, We = /<([\w:-]+)/, $e = /^$|\/(?:java|ecma)script/i, Ue = /^\s+/,
            Ye = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";
        !function () {
            var e = ae.createElement("div"), t = ae.createDocumentFragment(), n = ae.createElement("input");
            e.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", _e.leadingWhitespace = 3 === e.firstChild.nodeType, _e.tbody = !e.getElementsByTagName("tbody").length, _e.htmlSerialize = !!e.getElementsByTagName("link").length, _e.html5Clone = "<:nav></:nav>" !== ae.createElement("nav").cloneNode(!0).outerHTML, n.type = "checkbox", n.checked = !0, t.appendChild(n), _e.appendChecked = n.checked, e.innerHTML = "<textarea>x</textarea>", _e.noCloneChecked = !!e.cloneNode(!0).lastChild.defaultValue, t.appendChild(e), n = ae.createElement("input"), n.setAttribute("type", "radio"), n.setAttribute("checked", "checked"), n.setAttribute("name", "t"), e.appendChild(n), _e.checkClone = e.cloneNode(!0).cloneNode(!0).lastChild.checked, _e.noCloneEvent = !!e.addEventListener, e[ge.expando] = 1, _e.attributes = !e.getAttribute(ge.expando)
        }();
        var Xe = {
            option: [1, "<select multiple='multiple'>", "</select>"],
            legend: [1, "<fieldset>", "</fieldset>"],
            area: [1, "<map>", "</map>"],
            param: [1, "<object>", "</object>"],
            thead: [1, "<table>", "</table>"],
            tr: [2, "<table><tbody>", "</tbody></table>"],
            col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
            _default: _e.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
        };
        Xe.optgroup = Xe.option, Xe.tbody = Xe.tfoot = Xe.colgroup = Xe.caption = Xe.thead, Xe.th = Xe.td;
        var Ge = /<|&#?\w+;/, Ve = /<tbody/i;
        !function () {
            var e, t, i = ae.createElement("div");
            for (e in{
                submit: !0,
                change: !0,
                focusin: !0
            })t = "on" + e, (_e[e] = t in n) || (i.setAttribute(t, "t"), _e[e] = !1 === i.attributes[t].expando);
            i = null
        }();
        var Je = /^(?:input|select|textarea)$/i, Ke = /^key/, Qe = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
            Ze = /^(?:focusinfocus|focusoutblur)$/, et = /^([^.]*)(?:\.(.+)|)/;
        ge.event = {
            global: {},
            add: function (e, t, n, i, r) {
                var o, s, a, l, c, u, d, h, p, f, _, g = ge._data(e);
                if (g) {
                    for (n.handler && (l = n, n = l.handler, r = l.selector), n.guid || (n.guid = ge.guid++), (s = g.events) || (s = g.events = {}), (u = g.handle) || (u = g.handle = function (e) {
                        return void 0 === ge || e && ge.event.triggered === e.type ? void 0 : ge.event.dispatch.apply(u.elem, arguments)
                    }, u.elem = e), t = (t || "").match(Le) || [""], a = t.length; a--;)o = et.exec(t[a]) || [], p = _ = o[1], f = (o[2] || "").split(".").sort(), p && (c = ge.event.special[p] || {}, p = (r ? c.delegateType : c.bindType) || p, c = ge.event.special[p] || {}, d = ge.extend({
                        type: p,
                        origType: _,
                        data: i,
                        handler: n,
                        guid: n.guid,
                        selector: r,
                        needsContext: r && ge.expr.match.needsContext.test(r),
                        namespace: f.join(".")
                    }, l), (h = s[p]) || (h = s[p] = [], h.delegateCount = 0, c.setup && !1 !== c.setup.call(e, i, f, u) || (e.addEventListener ? e.addEventListener(p, u, !1) : e.attachEvent && e.attachEvent("on" + p, u))), c.add && (c.add.call(e, d), d.handler.guid || (d.handler.guid = n.guid)), r ? h.splice(h.delegateCount++, 0, d) : h.push(d), ge.event.global[p] = !0);
                    e = null
                }
            },
            remove: function (e, t, n, i, r) {
                var o, s, a, l, c, u, d, h, p, f, _, g = ge.hasData(e) && ge._data(e);
                if (g && (u = g.events)) {
                    for (t = (t || "").match(Le) || [""], c = t.length; c--;)if (a = et.exec(t[c]) || [], p = _ = a[1], f = (a[2] || "").split(".").sort(), p) {
                        for (d = ge.event.special[p] || {}, p = (i ? d.delegateType : d.bindType) || p, h = u[p] || [], a = a[2] && new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)"), l = o = h.length; o--;)s = h[o], !r && _ !== s.origType || n && n.guid !== s.guid || a && !a.test(s.namespace) || i && i !== s.selector && ("**" !== i || !s.selector) || (h.splice(o, 1), s.selector && h.delegateCount--, d.remove && d.remove.call(e, s));
                        l && !h.length && (d.teardown && !1 !== d.teardown.call(e, f, g.handle) || ge.removeEvent(e, p, g.handle), delete u[p])
                    } else for (p in u)ge.event.remove(e, p + t[c], n, i, !0);
                    ge.isEmptyObject(u) && (delete g.handle, ge._removeData(e, "events"))
                }
            },
            trigger: function (e, t, i, r) {
                var o, s, a, l, c, u, d, h = [i || ae], p = fe.call(e, "type") ? e.type : e,
                    f = fe.call(e, "namespace") ? e.namespace.split(".") : [];
                if (a = u = i = i || ae, 3 !== i.nodeType && 8 !== i.nodeType && !Ze.test(p + ge.event.triggered) && (p.indexOf(".") > -1 && (f = p.split("."), p = f.shift(), f.sort()), s = p.indexOf(":") < 0 && "on" + p, e = e[ge.expando] ? e : new ge.Event(p, "object" == typeof e && e), e.isTrigger = r ? 2 : 3, e.namespace = f.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = i), t = null == t ? [e] : ge.makeArray(t, [e]), c = ge.event.special[p] || {}, r || !c.trigger || !1 !== c.trigger.apply(i, t))) {
                    if (!r && !c.noBubble && !ge.isWindow(i)) {
                        for (l = c.delegateType || p, Ze.test(l + p) || (a = a.parentNode); a; a = a.parentNode)h.push(a), u = a;
                        u === (i.ownerDocument || ae) && h.push(u.defaultView || u.parentWindow || n)
                    }
                    for (d = 0; (a = h[d++]) && !e.isPropagationStopped();)e.type = d > 1 ? l : c.bindType || p, o = (ge._data(a, "events") || {})[e.type] && ge._data(a, "handle"), o && o.apply(a, t), (o = s && a[s]) && o.apply && Me(a) && (e.result = o.apply(a, t), !1 === e.result && e.preventDefault());
                    if (e.type = p, !r && !e.isDefaultPrevented() && (!c._default || !1 === c._default.apply(h.pop(), t)) && Me(i) && s && i[p] && !ge.isWindow(i)) {
                        u = i[s], u && (i[s] = null), ge.event.triggered = p;
                        try {
                            i[p]()
                        } catch (e) {
                        }
                        ge.event.triggered = void 0, u && (i[s] = u)
                    }
                    return e.result
                }
            },
            dispatch: function (e) {
                e = ge.event.fix(e);
                var t, n, i, r, o, s = [], a = le.call(arguments), l = (ge._data(this, "events") || {})[e.type] || [],
                    c = ge.event.special[e.type] || {};
                if (a[0] = e, e.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, e)) {
                    for (s = ge.event.handlers.call(this, e, l), t = 0; (r = s[t++]) && !e.isPropagationStopped();)for (e.currentTarget = r.elem, n = 0; (o = r.handlers[n++]) && !e.isImmediatePropagationStopped();)e.rnamespace && !e.rnamespace.test(o.namespace) || (e.handleObj = o, e.data = o.data, void 0 !== (i = ((ge.event.special[o.origType] || {}).handle || o.handler).apply(r.elem, a)) && !1 === (e.result = i) && (e.preventDefault(), e.stopPropagation()));
                    return c.postDispatch && c.postDispatch.call(this, e), e.result
                }
            },
            handlers: function (e, t) {
                var n, i, r, o, s = [], a = t.delegateCount, l = e.target;
                if (a && l.nodeType && ("click" !== e.type || isNaN(e.button) || e.button < 1))for (; l != this; l = l.parentNode || this)if (1 === l.nodeType && (!0 !== l.disabled || "click" !== e.type)) {
                    for (i = [], n = 0; n < a; n++)o = t[n], r = o.selector + " ", void 0 === i[r] && (i[r] = o.needsContext ? ge(r, this).index(l) > -1 : ge.find(r, this, null, [l]).length), i[r] && i.push(o);
                    i.length && s.push({elem: l, handlers: i})
                }
                return a < t.length && s.push({elem: this, handlers: t.slice(a)}), s
            },
            fix: function (e) {
                if (e[ge.expando])return e;
                var t, n, i, r = e.type, o = e, s = this.fixHooks[r];
                for (s || (this.fixHooks[r] = s = Qe.test(r) ? this.mouseHooks : Ke.test(r) ? this.keyHooks : {}), i = s.props ? this.props.concat(s.props) : this.props, e = new ge.Event(o), t = i.length; t--;)n = i[t], e[n] = o[n];
                return e.target || (e.target = o.srcElement || ae), 3 === e.target.nodeType && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, s.filter ? s.filter(e, o) : e
            },
            props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
            fixHooks: {},
            keyHooks: {
                props: "char charCode key keyCode".split(" "), filter: function (e, t) {
                    return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
                }
            },
            mouseHooks: {
                props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
                filter: function (e, t) {
                    var n, i, r, o = t.button, s = t.fromElement;
                    return null == e.pageX && null != t.clientX && (i = e.target.ownerDocument || ae, r = i.documentElement, n = i.body, e.pageX = t.clientX + (r && r.scrollLeft || n && n.scrollLeft || 0) - (r && r.clientLeft || n && n.clientLeft || 0), e.pageY = t.clientY + (r && r.scrollTop || n && n.scrollTop || 0) - (r && r.clientTop || n && n.clientTop || 0)), !e.relatedTarget && s && (e.relatedTarget = s === e.target ? t.toElement : s), e.which || void 0 === o || (e.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), e
                }
            },
            special: {
                load: {noBubble: !0}, focus: {
                    trigger: function () {
                        if (this !== C() && this.focus)try {
                            return this.focus(), !1
                        } catch (e) {
                        }
                    }, delegateType: "focusin"
                }, blur: {
                    trigger: function () {
                        if (this === C() && this.blur)return this.blur(), !1
                    }, delegateType: "focusout"
                }, click: {
                    trigger: function () {
                        if (ge.nodeName(this, "input") && "checkbox" === this.type && this.click)return this.click(), !1
                    }, _default: function (e) {
                        return ge.nodeName(e.target, "a")
                    }
                }, beforeunload: {
                    postDispatch: function (e) {
                        void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
                    }
                }
            },
            simulate: function (e, t, n) {
                var i = ge.extend(new ge.Event, n, {type: e, isSimulated: !0});
                ge.event.trigger(i, null, t), i.isDefaultPrevented() && n.preventDefault()
            }
        }, ge.removeEvent = ae.removeEventListener ? function (e, t, n) {
            e.removeEventListener && e.removeEventListener(t, n)
        } : function (e, t, n) {
            var i = "on" + t;
            e.detachEvent && (void 0 === e[i] && (e[i] = null), e.detachEvent(i, n))
        }, ge.Event = function (e, t) {
            if (!(this instanceof ge.Event))return new ge.Event(e, t);
            e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? w : k) : this.type = e, t && ge.extend(this, t), this.timeStamp = e && e.timeStamp || ge.now(), this[ge.expando] = !0
        }, ge.Event.prototype = {
            constructor: ge.Event,
            isDefaultPrevented: k,
            isPropagationStopped: k,
            isImmediatePropagationStopped: k,
            preventDefault: function () {
                var e = this.originalEvent;
                this.isDefaultPrevented = w, e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1)
            },
            stopPropagation: function () {
                var e = this.originalEvent;
                this.isPropagationStopped = w, e && !this.isSimulated && (e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0)
            },
            stopImmediatePropagation: function () {
                var e = this.originalEvent;
                this.isImmediatePropagationStopped = w, e && e.stopImmediatePropagation && e.stopImmediatePropagation(), this.stopPropagation()
            }
        }, ge.each({
            mouseenter: "mouseover",
            mouseleave: "mouseout",
            pointerenter: "pointerover",
            pointerleave: "pointerout"
        }, function (e, t) {
            ge.event.special[e] = {
                delegateType: t, bindType: t, handle: function (e) {
                    var n, i = this, r = e.relatedTarget, o = e.handleObj;
                    return r && (r === i || ge.contains(i, r)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n
                }
            }
        }), _e.submit || (ge.event.special.submit = {
            setup: function () {
                if (ge.nodeName(this, "form"))return !1;
                ge.event.add(this, "click._submit keypress._submit", function (e) {
                    var t = e.target,
                        n = ge.nodeName(t, "input") || ge.nodeName(t, "button") ? ge.prop(t, "form") : void 0;
                    n && !ge._data(n, "submit") && (ge.event.add(n, "submit._submit", function (e) {
                        e._submitBubble = !0
                    }), ge._data(n, "submit", !0))
                })
            }, postDispatch: function (e) {
                e._submitBubble && (delete e._submitBubble, this.parentNode && !e.isTrigger && ge.event.simulate("submit", this.parentNode, e))
            }, teardown: function () {
                if (ge.nodeName(this, "form"))return !1;
                ge.event.remove(this, "._submit")
            }
        }), _e.change || (ge.event.special.change = {
            setup: function () {
                if (Je.test(this.nodeName))return "checkbox" !== this.type && "radio" !== this.type || (ge.event.add(this, "propertychange._change", function (e) {
                    "checked" === e.originalEvent.propertyName && (this._justChanged = !0)
                }), ge.event.add(this, "click._change", function (e) {
                    this._justChanged && !e.isTrigger && (this._justChanged = !1), ge.event.simulate("change", this, e)
                })), !1;
                ge.event.add(this, "beforeactivate._change", function (e) {
                    var t = e.target;
                    Je.test(t.nodeName) && !ge._data(t, "change") && (ge.event.add(t, "change._change", function (e) {
                        !this.parentNode || e.isSimulated || e.isTrigger || ge.event.simulate("change", this.parentNode, e)
                    }), ge._data(t, "change", !0))
                })
            }, handle: function (e) {
                var t = e.target;
                if (this !== t || e.isSimulated || e.isTrigger || "radio" !== t.type && "checkbox" !== t.type)return e.handleObj.handler.apply(this, arguments)
            }, teardown: function () {
                return ge.event.remove(this, "._change"), !Je.test(this.nodeName)
            }
        }), _e.focusin || ge.each({focus: "focusin", blur: "focusout"}, function (e, t) {
            var n = function (e) {
                ge.event.simulate(t, e.target, ge.event.fix(e))
            };
            ge.event.special[t] = {
                setup: function () {
                    var i = this.ownerDocument || this, r = ge._data(i, t);
                    r || i.addEventListener(e, n, !0), ge._data(i, t, (r || 0) + 1)
                }, teardown: function () {
                    var i = this.ownerDocument || this, r = ge._data(i, t) - 1;
                    r ? ge._data(i, t, r) : (i.removeEventListener(e, n, !0), ge._removeData(i, t))
                }
            }
        }), ge.fn.extend({
            on: function (e, t, n, i) {
                return T(this, e, t, n, i)
            }, one: function (e, t, n, i) {
                return T(this, e, t, n, i, 1)
            }, off: function (e, t, n) {
                var i, r;
                if (e && e.preventDefault && e.handleObj)return i = e.handleObj, ge(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this;
                if ("object" == typeof e) {
                    for (r in e)this.off(r, t, e[r]);
                    return this
                }
                return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = k), this.each(function () {
                    ge.event.remove(this, e, n, t)
                })
            }, trigger: function (e, t) {
                return this.each(function () {
                    ge.event.trigger(e, t, this)
                })
            }, triggerHandler: function (e, t) {
                var n = this[0];
                if (n)return ge.event.trigger(e, t, n, !0)
            }
        });
        var tt = / jQuery\d+="(?:null|\d+)"/g, nt = new RegExp("<(?:" + Ye + ")[\\s/>]", "i"),
            it = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
            rt = /<script|<style|<link/i, ot = /checked\s*(?:[^=]|=\s*.checked.)/i, st = /^true\/(.*)/,
            at = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, lt = m(ae), ct = lt.appendChild(ae.createElement("div"));
        ge.extend({
            htmlPrefilter: function (e) {
                return e.replace(it, "<$1></$2>")
            }, clone: function (e, t, n) {
                var i, r, o, s, a, l = ge.contains(e.ownerDocument, e);
                if (_e.html5Clone || ge.isXMLDoc(e) || !nt.test("<" + e.nodeName + ">") ? o = e.cloneNode(!0) : (ct.innerHTML = e.outerHTML, ct.removeChild(o = ct.firstChild)), !(_e.noCloneEvent && _e.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || ge.isXMLDoc(e)))for (i = b(o), a = b(e), s = 0; null != (r = a[s]); ++s)i[s] && D(r, i[s]);
                if (t)if (n)for (a = a || b(e), i = i || b(o), s = 0; null != (r = a[s]); s++)A(r, i[s]); else A(e, o);
                return i = b(o, "script"), i.length > 0 && v(i, !l && b(e, "script")), i = a = r = null, o
            }, cleanData: function (e, t) {
                for (var n, i, r, o, s = 0, a = ge.expando, l = ge.cache, c = _e.attributes, u = ge.event.special; null != (n = e[s]); s++)if ((t || Me(n)) && (r = n[a], o = r && l[r])) {
                    if (o.events)for (i in o.events)u[i] ? ge.event.remove(n, i) : ge.removeEvent(n, i, o.handle);
                    l[r] && (delete l[r], c || void 0 === n.removeAttribute ? n[a] = void 0 : n.removeAttribute(a), se.push(r))
                }
            }
        }), ge.fn.extend({
            domManip: L, detach: function (e) {
                return I(this, e, !0)
            }, remove: function (e) {
                return I(this, e)
            }, text: function (e) {
                return ze(this, function (e) {
                    return void 0 === e ? ge.text(this) : this.empty().append((this[0] && this[0].ownerDocument || ae).createTextNode(e))
                }, null, e, arguments.length)
            }, append: function () {
                return L(this, arguments, function (e) {
                    if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                        E(this, e).appendChild(e)
                    }
                })
            }, prepend: function () {
                return L(this, arguments, function (e) {
                    if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                        var t = E(this, e);
                        t.insertBefore(e, t.firstChild)
                    }
                })
            }, before: function () {
                return L(this, arguments, function (e) {
                    this.parentNode && this.parentNode.insertBefore(e, this)
                })
            }, after: function () {
                return L(this, arguments, function (e) {
                    this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
                })
            }, empty: function () {
                for (var e, t = 0; null != (e = this[t]); t++) {
                    for (1 === e.nodeType && ge.cleanData(b(e, !1)); e.firstChild;)e.removeChild(e.firstChild);
                    e.options && ge.nodeName(e, "select") && (e.options.length = 0)
                }
                return this
            }, clone: function (e, t) {
                return e = null != e && e, t = null == t ? e : t, this.map(function () {
                    return ge.clone(this, e, t)
                })
            }, html: function (e) {
                return ze(this, function (e) {
                    var t = this[0] || {}, n = 0, i = this.length;
                    if (void 0 === e)return 1 === t.nodeType ? t.innerHTML.replace(tt, "") : void 0;
                    if ("string" == typeof e && !rt.test(e) && (_e.htmlSerialize || !nt.test(e)) && (_e.leadingWhitespace || !Ue.test(e)) && !Xe[(We.exec(e) || ["", ""])[1].toLowerCase()]) {
                        e = ge.htmlPrefilter(e);
                        try {
                            for (; n < i; n++)t = this[n] || {}, 1 === t.nodeType && (ge.cleanData(b(t, !1)), t.innerHTML = e);
                            t = 0
                        } catch (e) {
                        }
                    }
                    t && this.empty().append(e)
                }, null, e, arguments.length)
            }, replaceWith: function () {
                var e = [];
                return L(this, arguments, function (t) {
                    var n = this.parentNode;
                    ge.inArray(this, e) < 0 && (ge.cleanData(b(this)), n && n.replaceChild(t, this))
                }, e)
            }
        }), ge.each({
            appendTo: "append",
            prependTo: "prepend",
            insertBefore: "before",
            insertAfter: "after",
            replaceAll: "replaceWith"
        }, function (e, t) {
            ge.fn[e] = function (e) {
                for (var n, i = 0, r = [], o = ge(e), s = o.length - 1; i <= s; i++)n = i === s ? this : this.clone(!0), ge(o[i])[t](n), ue.apply(r, n.get());
                return this.pushStack(r)
            }
        });
        var ut, dt = {HTML: "block", BODY: "block"}, ht = /^margin/,
            pt = new RegExp("^(" + He + ")(?!px)[a-z%]+$", "i"), ft = function (e, t, n, i) {
                var r, o, s = {};
                for (o in t)s[o] = e.style[o], e.style[o] = t[o];
                r = n.apply(e, i || []);
                for (o in t)e.style[o] = s[o];
                return r
            }, _t = ae.documentElement;
        !function () {
            function e() {
                var e, u, d = ae.documentElement;
                d.appendChild(l), c.style.cssText = "-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%", t = r = a = !1, i = s = !0, n.getComputedStyle && (u = n.getComputedStyle(c), t = "1%" !== (u || {}).top, a = "2px" === (u || {}).marginLeft, r = "4px" === (u || {width: "4px"}).width, c.style.marginRight = "50%", i = "4px" === (u || {marginRight: "4px"}).marginRight, e = c.appendChild(ae.createElement("div")), e.style.cssText = c.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", e.style.marginRight = e.style.width = "0", c.style.width = "1px", s = !parseFloat((n.getComputedStyle(e) || {}).marginRight), c.removeChild(e)), c.style.display = "none", o = 0 === c.getClientRects().length, o && (c.style.display = "", c.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", c.childNodes[0].style.borderCollapse = "separate", e = c.getElementsByTagName("td"), e[0].style.cssText = "margin:0;border:0;padding:0;display:none", (o = 0 === e[0].offsetHeight) && (e[0].style.display = "", e[1].style.display = "none", o = 0 === e[0].offsetHeight)), d.removeChild(l)
            }

            var t, i, r, o, s, a, l = ae.createElement("div"), c = ae.createElement("div");
            c.style && (c.style.cssText = "float:left;opacity:.5", _e.opacity = "0.5" === c.style.opacity, _e.cssFloat = !!c.style.cssFloat, c.style.backgroundClip = "content-box", c.cloneNode(!0).style.backgroundClip = "", _e.clearCloneStyle = "content-box" === c.style.backgroundClip, l = ae.createElement("div"), l.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute", c.innerHTML = "", l.appendChild(c), _e.boxSizing = "" === c.style.boxSizing || "" === c.style.MozBoxSizing || "" === c.style.WebkitBoxSizing, ge.extend(_e, {
                reliableHiddenOffsets: function () {
                    return null == t && e(), o
                }, boxSizingReliable: function () {
                    return null == t && e(), r
                }, pixelMarginRight: function () {
                    return null == t && e(), i
                }, pixelPosition: function () {
                    return null == t && e(), t
                }, reliableMarginRight: function () {
                    return null == t && e(), s
                }, reliableMarginLeft: function () {
                    return null == t && e(), a
                }
            }))
        }();
        var gt, mt, bt = /^(top|right|bottom|left)$/;
        n.getComputedStyle ? (gt = function (e) {
            var t = e.ownerDocument.defaultView;
            return t && t.opener || (t = n), t.getComputedStyle(e)
        }, mt = function (e, t, n) {
            var i, r, o, s, a = e.style;
            return n = n || gt(e), s = n ? n.getPropertyValue(t) || n[t] : void 0, "" !== s && void 0 !== s || ge.contains(e.ownerDocument, e) || (s = ge.style(e, t)), n && !_e.pixelMarginRight() && pt.test(s) && ht.test(t) && (i = a.width, r = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = s, s = n.width, a.width = i, a.minWidth = r, a.maxWidth = o), void 0 === s ? s : s + ""
        }) : _t.currentStyle && (gt = function (e) {
                return e.currentStyle
            }, mt = function (e, t, n) {
                var i, r, o, s, a = e.style;
                return n = n || gt(e), s = n ? n[t] : void 0, null == s && a && a[t] && (s = a[t]), pt.test(s) && !bt.test(t) && (i = a.left, r = e.runtimeStyle, o = r && r.left, o && (r.left = e.currentStyle.left), a.left = "fontSize" === t ? "1em" : s, s = a.pixelLeft + "px", a.left = i, o && (r.left = o)), void 0 === s ? s : s + "" || "auto"
            });
        var vt = /alpha\([^)]*\)/i, yt = /opacity\s*=\s*([^)]*)/i, xt = /^(none|table(?!-c[ea]).+)/,
            wt = new RegExp("^(" + He + ")(.*)$", "i"),
            kt = {position: "absolute", visibility: "hidden", display: "block"},
            Ct = {letterSpacing: "0", fontWeight: "400"}, Tt = ["Webkit", "O", "Moz", "ms"],
            Et = ae.createElement("div").style;
        ge.extend({
            cssHooks: {
                opacity: {
                    get: function (e, t) {
                        if (t) {
                            var n = mt(e, "opacity");
                            return "" === n ? "1" : n
                        }
                    }
                }
            },
            cssNumber: {
                animationIterationCount: !0,
                columnCount: !0,
                fillOpacity: !0,
                flexGrow: !0,
                flexShrink: !0,
                fontWeight: !0,
                lineHeight: !0,
                opacity: !0,
                order: !0,
                orphans: !0,
                widows: !0,
                zIndex: !0,
                zoom: !0
            },
            cssProps: {float: _e.cssFloat ? "cssFloat" : "styleFloat"},
            style: function (e, t, n, i) {
                if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
                    var r, o, s, a = ge.camelCase(t), l = e.style;
                    if (t = ge.cssProps[a] || (ge.cssProps[a] = O(a) || a), s = ge.cssHooks[t] || ge.cssHooks[a], void 0 === n)return s && "get" in s && void 0 !== (r = s.get(e, !1, i)) ? r : l[t];
                    if (o = typeof n, "string" === o && (r = Be.exec(n)) && r[1] && (n = g(e, t, r), o = "number"), null != n && n === n && ("number" === o && (n += r && r[3] || (ge.cssNumber[a] ? "" : "px")), _e.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), !(s && "set" in s && void 0 === (n = s.set(e, n, i)))))try {
                        l[t] = n
                    } catch (e) {
                    }
                }
            },
            css: function (e, t, n, i) {
                var r, o, s, a = ge.camelCase(t);
                return t = ge.cssProps[a] || (ge.cssProps[a] = O(a) || a), s = ge.cssHooks[t] || ge.cssHooks[a], s && "get" in s && (o = s.get(e, !0, n)), void 0 === o && (o = mt(e, t, i)), "normal" === o && t in Ct && (o = Ct[t]), "" === n || n ? (r = parseFloat(o), !0 === n || isFinite(r) ? r || 0 : o) : o
            }
        }), ge.each(["height", "width"], function (e, t) {
            ge.cssHooks[t] = {
                get: function (e, n, i) {
                    if (n)return xt.test(ge.css(e, "display")) && 0 === e.offsetWidth ? ft(e, kt, function () {
                        return P(e, t, i)
                    }) : P(e, t, i)
                }, set: function (e, n, i) {
                    var r = i && gt(e);
                    return B(e, n, i ? q(e, t, i, _e.boxSizing && "border-box" === ge.css(e, "boxSizing", !1, r), r) : 0)
                }
            }
        }), _e.opacity || (ge.cssHooks.opacity = {
            get: function (e, t) {
                return yt.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : t ? "1" : ""
            }, set: function (e, t) {
                var n = e.style, i = e.currentStyle, r = ge.isNumeric(t) ? "alpha(opacity=" + 100 * t + ")" : "",
                    o = i && i.filter || n.filter || "";
                n.zoom = 1, (t >= 1 || "" === t) && "" === ge.trim(o.replace(vt, "")) && n.removeAttribute && (n.removeAttribute("filter"), "" === t || i && !i.filter) || (n.filter = vt.test(o) ? o.replace(vt, r) : o + " " + r)
            }
        }), ge.cssHooks.marginRight = R(_e.reliableMarginRight, function (e, t) {
            if (t)return ft(e, {display: "inline-block"}, mt, [e, "marginRight"])
        }), ge.cssHooks.marginLeft = R(_e.reliableMarginLeft, function (e, t) {
            if (t)return (parseFloat(mt(e, "marginLeft")) || (ge.contains(e.ownerDocument, e) ? e.getBoundingClientRect().left - ft(e, {marginLeft: 0}, function () {
                        return e.getBoundingClientRect().left
                    }) : 0)) + "px"
        }), ge.each({margin: "", padding: "", border: "Width"}, function (e, t) {
            ge.cssHooks[e + t] = {
                expand: function (n) {
                    for (var i = 0, r = {}, o = "string" == typeof n ? n.split(" ") : [n]; i < 4; i++)r[e + qe[i] + t] = o[i] || o[i - 2] || o[0];
                    return r
                }
            }, ht.test(e) || (ge.cssHooks[e + t].set = B)
        }), ge.fn.extend({
            css: function (e, t) {
                return ze(this, function (e, t, n) {
                    var i, r, o = {}, s = 0;
                    if (ge.isArray(t)) {
                        for (i = gt(e), r = t.length; s < r; s++)o[t[s]] = ge.css(e, t[s], !1, i);
                        return o
                    }
                    return void 0 !== n ? ge.style(e, t, n) : ge.css(e, t)
                }, e, t, arguments.length > 1)
            }, show: function () {
                return H(this, !0)
            }, hide: function () {
                return H(this)
            }, toggle: function (e) {
                return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () {
                    Pe(this) ? ge(this).show() : ge(this).hide()
                })
            }
        }), ge.Tween = z, z.prototype = {
            constructor: z, init: function (e, t, n, i, r, o) {
                this.elem = e, this.prop = n, this.easing = r || ge.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = o || (ge.cssNumber[n] ? "" : "px")
            }, cur: function () {
                var e = z.propHooks[this.prop];
                return e && e.get ? e.get(this) : z.propHooks._default.get(this)
            }, run: function (e) {
                var t, n = z.propHooks[this.prop];
                return this.options.duration ? this.pos = t = ge.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : z.propHooks._default.set(this), this
            }
        }, z.prototype.init.prototype = z.prototype, z.propHooks = {
            _default: {
                get: function (e) {
                    var t;
                    return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = ge.css(e.elem, e.prop, ""), t && "auto" !== t ? t : 0)
                }, set: function (e) {
                    ge.fx.step[e.prop] ? ge.fx.step[e.prop](e) : 1 !== e.elem.nodeType || null == e.elem.style[ge.cssProps[e.prop]] && !ge.cssHooks[e.prop] ? e.elem[e.prop] = e.now : ge.style(e.elem, e.prop, e.now + e.unit)
                }
            }
        }, z.propHooks.scrollTop = z.propHooks.scrollLeft = {
            set: function (e) {
                e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
            }
        }, ge.easing = {
            linear: function (e) {
                return e
            }, swing: function (e) {
                return .5 - Math.cos(e * Math.PI) / 2
            }, _default: "swing"
        }, ge.fx = z.prototype.init, ge.fx.step = {};
        var St, Nt, At = /^(?:toggle|show|hide)$/, Dt = /queueHooks$/;
        ge.Animation = ge.extend(X, {
            tweeners: {
                "*": [function (e, t) {
                    var n = this.createTween(e, t);
                    return g(n.elem, e, Be.exec(t), n), n
                }]
            }, tweener: function (e, t) {
                ge.isFunction(e) ? (t = e, e = ["*"]) : e = e.match(Le);
                for (var n, i = 0, r = e.length; i < r; i++)n = e[i], X.tweeners[n] = X.tweeners[n] || [], X.tweeners[n].unshift(t)
            }, prefilters: [U], prefilter: function (e, t) {
                t ? X.prefilters.unshift(e) : X.prefilters.push(e)
            }
        }), ge.speed = function (e, t, n) {
            var i = e && "object" == typeof e ? ge.extend({}, e) : {
                complete: n || !n && t || ge.isFunction(e) && e,
                duration: e,
                easing: n && t || t && !ge.isFunction(t) && t
            };
            return i.duration = ge.fx.off ? 0 : "number" == typeof i.duration ? i.duration : i.duration in ge.fx.speeds ? ge.fx.speeds[i.duration] : ge.fx.speeds._default, null != i.queue && !0 !== i.queue || (i.queue = "fx"), i.old = i.complete, i.complete = function () {
                ge.isFunction(i.old) && i.old.call(this), i.queue && ge.dequeue(this, i.queue)
            }, i
        }, ge.fn.extend({
            fadeTo: function (e, t, n, i) {
                return this.filter(Pe).css("opacity", 0).show().end().animate({opacity: t}, e, n, i)
            }, animate: function (e, t, n, i) {
                var r = ge.isEmptyObject(e), o = ge.speed(t, n, i), s = function () {
                    var t = X(this, ge.extend({}, e), o);
                    (r || ge._data(this, "finish")) && t.stop(!0)
                };
                return s.finish = s, r || !1 === o.queue ? this.each(s) : this.queue(o.queue, s)
            }, stop: function (e, t, n) {
                var i = function (e) {
                    var t = e.stop;
                    delete e.stop, t(n)
                };
                return "string" != typeof e && (n = t, t = e, e = void 0), t && !1 !== e && this.queue(e || "fx", []), this.each(function () {
                    var t = !0, r = null != e && e + "queueHooks", o = ge.timers, s = ge._data(this);
                    if (r) s[r] && s[r].stop && i(s[r]); else for (r in s)s[r] && s[r].stop && Dt.test(r) && i(s[r]);
                    for (r = o.length; r--;)o[r].elem !== this || null != e && o[r].queue !== e || (o[r].anim.stop(n), t = !1, o.splice(r, 1));
                    !t && n || ge.dequeue(this, e)
                })
            }, finish: function (e) {
                return !1 !== e && (e = e || "fx"), this.each(function () {
                    var t, n = ge._data(this), i = n[e + "queue"], r = n[e + "queueHooks"], o = ge.timers,
                        s = i ? i.length : 0;
                    for (n.finish = !0, ge.queue(this, e, []), r && r.stop && r.stop.call(this, !0), t = o.length; t--;)o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1));
                    for (t = 0; t < s; t++)i[t] && i[t].finish && i[t].finish.call(this);
                    delete n.finish
                })
            }
        }), ge.each(["toggle", "show", "hide"], function (e, t) {
            var n = ge.fn[t];
            ge.fn[t] = function (e, i, r) {
                return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(W(t, !0), e, i, r)
            }
        }), ge.each({
            slideDown: W("show"),
            slideUp: W("hide"),
            slideToggle: W("toggle"),
            fadeIn: {opacity: "show"},
            fadeOut: {opacity: "hide"},
            fadeToggle: {opacity: "toggle"}
        }, function (e, t) {
            ge.fn[e] = function (e, n, i) {
                return this.animate(t, e, n, i)
            }
        }), ge.timers = [], ge.fx.tick = function () {
            var e, t = ge.timers, n = 0;
            for (St = ge.now(); n < t.length; n++)(e = t[n])() || t[n] !== e || t.splice(n--, 1);
            t.length || ge.fx.stop(), St = void 0
        }, ge.fx.timer = function (e) {
            ge.timers.push(e), e() ? ge.fx.start() : ge.timers.pop()
        }, ge.fx.interval = 13, ge.fx.start = function () {
            Nt || (Nt = n.setInterval(ge.fx.tick, ge.fx.interval))
        }, ge.fx.stop = function () {
            n.clearInterval(Nt), Nt = null
        }, ge.fx.speeds = {slow: 600, fast: 200, _default: 400}, ge.fn.delay = function (e, t) {
            return e = ge.fx ? ge.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function (t, i) {
                var r = n.setTimeout(t, e);
                i.stop = function () {
                    n.clearTimeout(r)
                }
            })
        }, function () {
            var e, t = ae.createElement("input"), n = ae.createElement("div"), i = ae.createElement("select"),
                r = i.appendChild(ae.createElement("option"));
            n = ae.createElement("div"), n.setAttribute("className", "t"), n.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", e = n.getElementsByTagName("a")[0], t.setAttribute("type", "checkbox"), n.appendChild(t), e = n.getElementsByTagName("a")[0], e.style.cssText = "top:1px", _e.getSetAttribute = "t" !== n.className, _e.style = /top/.test(e.getAttribute("style")), _e.hrefNormalized = "/a" === e.getAttribute("href"), _e.checkOn = !!t.value, _e.optSelected = r.selected, _e.enctype = !!ae.createElement("form").enctype, i.disabled = !0, _e.optDisabled = !r.disabled, t = ae.createElement("input"), t.setAttribute("value", ""), _e.input = "" === t.getAttribute("value"), t.value = "t", t.setAttribute("type", "radio"), _e.radioValue = "t" === t.value
        }();
        var Lt = /\r/g, It = /[\x20\t\r\n\f]+/g;
        ge.fn.extend({
            val: function (e) {
                var t, n, i, r = this[0];
                {
                    if (arguments.length)return i = ge.isFunction(e), this.each(function (n) {
                        var r;
                        1 === this.nodeType && (r = i ? e.call(this, n, ge(this).val()) : e, null == r ? r = "" : "number" == typeof r ? r += "" : ge.isArray(r) && (r = ge.map(r, function (e) {
                                return null == e ? "" : e + ""
                            })), (t = ge.valHooks[this.type] || ge.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, r, "value") || (this.value = r))
                    });
                    if (r)return (t = ge.valHooks[r.type] || ge.valHooks[r.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(r, "value")) ? n : (n = r.value, "string" == typeof n ? n.replace(Lt, "") : null == n ? "" : n)
                }
            }
        }), ge.extend({
            valHooks: {
                option: {
                    get: function (e) {
                        var t = ge.find.attr(e, "value");
                        return null != t ? t : ge.trim(ge.text(e)).replace(It, " ")
                    }
                }, select: {
                    get: function (e) {
                        for (var t, n, i = e.options, r = e.selectedIndex, o = "select-one" === e.type || r < 0, s = o ? null : [], a = o ? r + 1 : i.length, l = r < 0 ? a : o ? r : 0; l < a; l++)if (n = i[l], (n.selected || l === r) && (_e.optDisabled ? !n.disabled : null === n.getAttribute("disabled")) && (!n.parentNode.disabled || !ge.nodeName(n.parentNode, "optgroup"))) {
                            if (t = ge(n).val(), o)return t;
                            s.push(t)
                        }
                        return s
                    }, set: function (e, t) {
                        for (var n, i, r = e.options, o = ge.makeArray(t), s = r.length; s--;)if (i = r[s], ge.inArray(ge.valHooks.option.get(i), o) > -1)try {
                            i.selected = n = !0
                        } catch (e) {
                            i.scrollHeight
                        } else i.selected = !1;
                        return n || (e.selectedIndex = -1), r
                    }
                }
            }
        }), ge.each(["radio", "checkbox"], function () {
            ge.valHooks[this] = {
                set: function (e, t) {
                    if (ge.isArray(t))return e.checked = ge.inArray(ge(e).val(), t) > -1
                }
            }, _e.checkOn || (ge.valHooks[this].get = function (e) {
                return null === e.getAttribute("value") ? "on" : e.value
            })
        });
        var jt, Mt, Rt = ge.expr.attrHandle, Ot = /^(?:checked|selected)$/i, Ht = _e.getSetAttribute, Bt = _e.input;
        ge.fn.extend({
            attr: function (e, t) {
                return ze(this, ge.attr, e, t, arguments.length > 1)
            }, removeAttr: function (e) {
                return this.each(function () {
                    ge.removeAttr(this, e)
                })
            }
        }), ge.extend({
            attr: function (e, t, n) {
                var i, r, o = e.nodeType;
                if (3 !== o && 8 !== o && 2 !== o)return void 0 === e.getAttribute ? ge.prop(e, t, n) : (1 === o && ge.isXMLDoc(e) || (t = t.toLowerCase(), r = ge.attrHooks[t] || (ge.expr.match.bool.test(t) ? Mt : jt)), void 0 !== n ? null === n ? void ge.removeAttr(e, t) : r && "set" in r && void 0 !== (i = r.set(e, n, t)) ? i : (e.setAttribute(t, n + ""), n) : r && "get" in r && null !== (i = r.get(e, t)) ? i : (i = ge.find.attr(e, t), null == i ? void 0 : i))
            }, attrHooks: {
                type: {
                    set: function (e, t) {
                        if (!_e.radioValue && "radio" === t && ge.nodeName(e, "input")) {
                            var n = e.value;
                            return e.setAttribute("type", t), n && (e.value = n), t
                        }
                    }
                }
            }, removeAttr: function (e, t) {
                var n, i, r = 0, o = t && t.match(Le);
                if (o && 1 === e.nodeType)for (; n = o[r++];)i = ge.propFix[n] || n, ge.expr.match.bool.test(n) ? Bt && Ht || !Ot.test(n) ? e[i] = !1 : e[ge.camelCase("default-" + n)] = e[i] = !1 : ge.attr(e, n, ""), e.removeAttribute(Ht ? n : i)
            }
        }), Mt = {
            set: function (e, t, n) {
                return !1 === t ? ge.removeAttr(e, n) : Bt && Ht || !Ot.test(n) ? e.setAttribute(!Ht && ge.propFix[n] || n, n) : e[ge.camelCase("default-" + n)] = e[n] = !0, n
            }
        }, ge.each(ge.expr.match.bool.source.match(/\w+/g), function (e, t) {
            var n = Rt[t] || ge.find.attr;
            Bt && Ht || !Ot.test(t) ? Rt[t] = function (e, t, i) {
                var r, o;
                return i || (o = Rt[t], Rt[t] = r, r = null != n(e, t, i) ? t.toLowerCase() : null, Rt[t] = o), r
            } : Rt[t] = function (e, t, n) {
                if (!n)return e[ge.camelCase("default-" + t)] ? t.toLowerCase() : null
            }
        }), Bt && Ht || (ge.attrHooks.value = {
            set: function (e, t, n) {
                if (!ge.nodeName(e, "input"))return jt && jt.set(e, t, n);
                e.defaultValue = t
            }
        }), Ht || (jt = {
            set: function (e, t, n) {
                var i = e.getAttributeNode(n);
                if (i || e.setAttributeNode(i = e.ownerDocument.createAttribute(n)), i.value = t += "", "value" === n || t === e.getAttribute(n))return t
            }
        }, Rt.id = Rt.name = Rt.coords = function (e, t, n) {
            var i;
            if (!n)return (i = e.getAttributeNode(t)) && "" !== i.value ? i.value : null
        }, ge.valHooks.button = {
            get: function (e, t) {
                var n = e.getAttributeNode(t);
                if (n && n.specified)return n.value
            }, set: jt.set
        }, ge.attrHooks.contenteditable = {
            set: function (e, t, n) {
                jt.set(e, "" !== t && t, n)
            }
        }, ge.each(["width", "height"], function (e, t) {
            ge.attrHooks[t] = {
                set: function (e, n) {
                    if ("" === n)return e.setAttribute(t, "auto"), n
                }
            }
        })), _e.style || (ge.attrHooks.style = {
            get: function (e) {
                return e.style.cssText || void 0
            }, set: function (e, t) {
                return e.style.cssText = t + ""
            }
        });
        var qt = /^(?:input|select|textarea|button|object)$/i, Pt = /^(?:a|area)$/i;
        ge.fn.extend({
            prop: function (e, t) {
                return ze(this, ge.prop, e, t, arguments.length > 1)
            }, removeProp: function (e) {
                return e = ge.propFix[e] || e, this.each(function () {
                    try {
                        this[e] = void 0, delete this[e]
                    } catch (e) {
                    }
                })
            }
        }), ge.extend({
            prop: function (e, t, n) {
                var i, r, o = e.nodeType;
                if (3 !== o && 8 !== o && 2 !== o)return 1 === o && ge.isXMLDoc(e) || (t = ge.propFix[t] || t, r = ge.propHooks[t]), void 0 !== n ? r && "set" in r && void 0 !== (i = r.set(e, n, t)) ? i : e[t] = n : r && "get" in r && null !== (i = r.get(e, t)) ? i : e[t]
            }, propHooks: {
                tabIndex: {
                    get: function (e) {
                        var t = ge.find.attr(e, "tabindex");
                        return t ? parseInt(t, 10) : qt.test(e.nodeName) || Pt.test(e.nodeName) && e.href ? 0 : -1
                    }
                }
            }, propFix: {for: "htmlFor", class: "className"}
        }), _e.hrefNormalized || ge.each(["href", "src"], function (e, t) {
            ge.propHooks[t] = {
                get: function (e) {
                    return e.getAttribute(t, 4)
                }
            }
        }), _e.optSelected || (ge.propHooks.selected = {
            get: function (e) {
                var t = e.parentNode;
                return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null
            }, set: function (e) {
                var t = e.parentNode;
                t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex)
            }
        }), ge.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
            ge.propFix[this.toLowerCase()] = this
        }), _e.enctype || (ge.propFix.enctype = "encoding");
        var zt = /[\t\r\n\f]/g;
        ge.fn.extend({
            addClass: function (e) {
                var t, n, i, r, o, s, a, l = 0;
                if (ge.isFunction(e))return this.each(function (t) {
                    ge(this).addClass(e.call(this, t, G(this)))
                });
                if ("string" == typeof e && e)for (t = e.match(Le) || []; n = this[l++];)if (r = G(n), i = 1 === n.nodeType && (" " + r + " ").replace(zt, " ")) {
                    for (s = 0; o = t[s++];)i.indexOf(" " + o + " ") < 0 && (i += o + " ");
                    a = ge.trim(i), r !== a && ge.attr(n, "class", a)
                }
                return this
            }, removeClass: function (e) {
                var t, n, i, r, o, s, a, l = 0;
                if (ge.isFunction(e))return this.each(function (t) {
                    ge(this).removeClass(e.call(this, t, G(this)))
                });
                if (!arguments.length)return this.attr("class", "");
                if ("string" == typeof e && e)for (t = e.match(Le) || []; n = this[l++];)if (r = G(n), i = 1 === n.nodeType && (" " + r + " ").replace(zt, " ")) {
                    for (s = 0; o = t[s++];)for (; i.indexOf(" " + o + " ") > -1;)i = i.replace(" " + o + " ", " ");
                    a = ge.trim(i), r !== a && ge.attr(n, "class", a)
                }
                return this
            }, toggleClass: function (e, t) {
                var n = typeof e;
                return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : ge.isFunction(e) ? this.each(function (n) {
                    ge(this).toggleClass(e.call(this, n, G(this), t), t)
                }) : this.each(function () {
                    var t, i, r, o;
                    if ("string" === n)for (i = 0, r = ge(this), o = e.match(Le) || []; t = o[i++];)r.hasClass(t) ? r.removeClass(t) : r.addClass(t); else void 0 !== e && "boolean" !== n || (t = G(this), t && ge._data(this, "__className__", t), ge.attr(this, "class", t || !1 === e ? "" : ge._data(this, "__className__") || ""))
                })
            }, hasClass: function (e) {
                var t, n, i = 0;
                for (t = " " + e + " "; n = this[i++];)if (1 === n.nodeType && (" " + G(n) + " ").replace(zt, " ").indexOf(t) > -1)return !0;
                return !1
            }
        }), ge.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (e, t) {
            ge.fn[t] = function (e, n) {
                return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
            }
        }), ge.fn.extend({
            hover: function (e, t) {
                return this.mouseenter(e).mouseleave(t || e)
            }
        });
        var Ft = n.location, Wt = ge.now(), $t = /\?/,
            Ut = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;
        ge.parseJSON = function (e) {
            if (n.JSON && n.JSON.parse)return n.JSON.parse(e + "");
            var t, i = null, r = ge.trim(e + "");
            return r && !ge.trim(r.replace(Ut, function (e, n, r, o) {
                return t && n && (i = 0), 0 === i ? e : (t = r || n, i += !o - !r, "")
            })) ? Function("return " + r)() : ge.error("Invalid JSON: " + e)
        }, ge.parseXML = function (e) {
            var t, i;
            if (!e || "string" != typeof e)return null;
            try {
                n.DOMParser ? (i = new n.DOMParser, t = i.parseFromString(e, "text/xml")) : (t = new n.ActiveXObject("Microsoft.XMLDOM"), t.async = "false", t.loadXML(e))
            } catch (e) {
                t = void 0
            }
            return t && t.documentElement && !t.getElementsByTagName("parsererror").length || ge.error("Invalid XML: " + e), t
        };
        var Yt = /#.*$/, Xt = /([?&])_=[^&]*/, Gt = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm,
            Vt = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, Jt = /^(?:GET|HEAD)$/, Kt = /^\/\//,
            Qt = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, Zt = {}, en = {}, tn = "*/".concat("*"),
            nn = Ft.href, rn = Qt.exec(nn.toLowerCase()) || [];
        ge.extend({
            active: 0,
            lastModified: {},
            etag: {},
            ajaxSettings: {
                url: nn,
                type: "GET",
                isLocal: Vt.test(rn[1]),
                global: !0,
                processData: !0,
                async: !0,
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                accepts: {
                    "*": tn,
                    text: "text/plain",
                    html: "text/html",
                    xml: "application/xml, text/xml",
                    json: "application/json, text/javascript"
                },
                contents: {xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/},
                responseFields: {xml: "responseXML", text: "responseText", json: "responseJSON"},
                converters: {"* text": String, "text html": !0, "text json": ge.parseJSON, "text xml": ge.parseXML},
                flatOptions: {url: !0, context: !0}
            },
            ajaxSetup: function (e, t) {
                return t ? K(K(e, ge.ajaxSettings), t) : K(ge.ajaxSettings, e)
            },
            ajaxPrefilter: V(Zt),
            ajaxTransport: V(en),
            ajax: function (e, t) {
                function i(e, t, i, r) {
                    var o, d, b, v, x, k = t;
                    2 !== y && (y = 2, l && n.clearTimeout(l), u = void 0, a = r || "", w.readyState = e > 0 ? 4 : 0, o = e >= 200 && e < 300 || 304 === e, i && (v = Q(h, w, i)), v = Z(h, v, w, o), o ? (h.ifModified && (x = w.getResponseHeader("Last-Modified"), x && (ge.lastModified[s] = x), (x = w.getResponseHeader("etag")) && (ge.etag[s] = x)), 204 === e || "HEAD" === h.type ? k = "nocontent" : 304 === e ? k = "notmodified" : (k = v.state, d = v.data, b = v.error, o = !b)) : (b = k, !e && k || (k = "error", e < 0 && (e = 0))), w.status = e, w.statusText = (t || k) + "", o ? _.resolveWith(p, [d, k, w]) : _.rejectWith(p, [w, k, b]), w.statusCode(m), m = void 0, c && f.trigger(o ? "ajaxSuccess" : "ajaxError", [w, h, o ? d : b]), g.fireWith(p, [w, k]), c && (f.trigger("ajaxComplete", [w, h]), --ge.active || ge.event.trigger("ajaxStop")))
                }

                "object" == typeof e && (t = e, e = void 0), t = t || {};
                var r, o, s, a, l, c, u, d, h = ge.ajaxSetup({}, t), p = h.context || h,
                    f = h.context && (p.nodeType || p.jquery) ? ge(p) : ge.event, _ = ge.Deferred(),
                    g = ge.Callbacks("once memory"), m = h.statusCode || {}, b = {}, v = {}, y = 0, x = "canceled",
                    w = {
                        readyState: 0, getResponseHeader: function (e) {
                            var t;
                            if (2 === y) {
                                if (!d)for (d = {}; t = Gt.exec(a);)d[t[1].toLowerCase()] = t[2];
                                t = d[e.toLowerCase()]
                            }
                            return null == t ? null : t
                        }, getAllResponseHeaders: function () {
                            return 2 === y ? a : null
                        }, setRequestHeader: function (e, t) {
                            var n = e.toLowerCase();
                            return y || (e = v[n] = v[n] || e, b[e] = t), this
                        }, overrideMimeType: function (e) {
                            return y || (h.mimeType = e), this
                        }, statusCode: function (e) {
                            var t;
                            if (e)if (y < 2)for (t in e)m[t] = [m[t], e[t]]; else w.always(e[w.status]);
                            return this
                        }, abort: function (e) {
                            var t = e || x;
                            return u && u.abort(t), i(0, t), this
                        }
                    };
                if (_.promise(w).complete = g.add, w.success = w.done, w.error = w.fail, h.url = ((e || h.url || nn) + "").replace(Yt, "").replace(Kt, rn[1] + "//"), h.type = t.method || t.type || h.method || h.type, h.dataTypes = ge.trim(h.dataType || "*").toLowerCase().match(Le) || [""], null == h.crossDomain && (r = Qt.exec(h.url.toLowerCase()), h.crossDomain = !(!r || r[1] === rn[1] && r[2] === rn[2] && (r[3] || ("http:" === r[1] ? "80" : "443")) === (rn[3] || ("http:" === rn[1] ? "80" : "443")))), h.data && h.processData && "string" != typeof h.data && (h.data = ge.param(h.data, h.traditional)), J(Zt, h, t, w), 2 === y)return w;
                c = ge.event && h.global, c && 0 == ge.active++ && ge.event.trigger("ajaxStart"), h.type = h.type.toUpperCase(), h.hasContent = !Jt.test(h.type), s = h.url, h.hasContent || (h.data && (s = h.url += ($t.test(s) ? "&" : "?") + h.data, delete h.data), !1 === h.cache && (h.url = Xt.test(s) ? s.replace(Xt, "$1_=" + Wt++) : s + ($t.test(s) ? "&" : "?") + "_=" + Wt++)), h.ifModified && (ge.lastModified[s] && w.setRequestHeader("If-Modified-Since", ge.lastModified[s]), ge.etag[s] && w.setRequestHeader("If-None-Match", ge.etag[s])), (h.data && h.hasContent && !1 !== h.contentType || t.contentType) && w.setRequestHeader("Content-Type", h.contentType), w.setRequestHeader("Accept", h.dataTypes[0] && h.accepts[h.dataTypes[0]] ? h.accepts[h.dataTypes[0]] + ("*" !== h.dataTypes[0] ? ", " + tn + "; q=0.01" : "") : h.accepts["*"]);
                for (o in h.headers)w.setRequestHeader(o, h.headers[o]);
                if (h.beforeSend && (!1 === h.beforeSend.call(p, w, h) || 2 === y))return w.abort();
                x = "abort";
                for (o in{success: 1, error: 1, complete: 1})w[o](h[o]);
                if (u = J(en, h, t, w)) {
                    if (w.readyState = 1, c && f.trigger("ajaxSend", [w, h]), 2 === y)return w;
                    h.async && h.timeout > 0 && (l = n.setTimeout(function () {
                        w.abort("timeout")
                    }, h.timeout));
                    try {
                        y = 1, u.send(b, i)
                    } catch (e) {
                        if (!(y < 2))throw e;
                        i(-1, e)
                    }
                } else i(-1, "No Transport");
                return w
            },
            getJSON: function (e, t, n) {
                return ge.get(e, t, n, "json")
            },
            getScript: function (e, t) {
                return ge.get(e, void 0, t, "script")
            }
        }), ge.each(["get", "post"], function (e, t) {
            ge[t] = function (e, n, i, r) {
                return ge.isFunction(n) && (r = r || i, i = n, n = void 0), ge.ajax(ge.extend({
                    url: e,
                    type: t,
                    dataType: r,
                    data: n,
                    success: i
                }, ge.isPlainObject(e) && e))
            }
        }), ge._evalUrl = function (e) {
            return ge.ajax({url: e, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, throws: !0})
        }, ge.fn.extend({
            wrapAll: function (e) {
                if (ge.isFunction(e))return this.each(function (t) {
                    ge(this).wrapAll(e.call(this, t))
                });
                if (this[0]) {
                    var t = ge(e, this[0].ownerDocument).eq(0).clone(!0);
                    this[0].parentNode && t.insertBefore(this[0]), t.map(function () {
                        for (var e = this; e.firstChild && 1 === e.firstChild.nodeType;)e = e.firstChild;
                        return e
                    }).append(this)
                }
                return this
            }, wrapInner: function (e) {
                return ge.isFunction(e) ? this.each(function (t) {
                    ge(this).wrapInner(e.call(this, t))
                }) : this.each(function () {
                    var t = ge(this), n = t.contents();
                    n.length ? n.wrapAll(e) : t.append(e)
                })
            }, wrap: function (e) {
                var t = ge.isFunction(e);
                return this.each(function (n) {
                    ge(this).wrapAll(t ? e.call(this, n) : e)
                })
            }, unwrap: function () {
                return this.parent().each(function () {
                    ge.nodeName(this, "body") || ge(this).replaceWith(this.childNodes)
                }).end()
            }
        }), ge.expr.filters.hidden = function (e) {
            return _e.reliableHiddenOffsets() ? e.offsetWidth <= 0 && e.offsetHeight <= 0 && !e.getClientRects().length : te(e)
        }, ge.expr.filters.visible = function (e) {
            return !ge.expr.filters.hidden(e)
        };
        var on = /%20/g, sn = /\[\]$/, an = /\r?\n/g, ln = /^(?:submit|button|image|reset|file)$/i,
            cn = /^(?:input|select|textarea|keygen)/i;
        ge.param = function (e, t) {
            var n, i = [], r = function (e, t) {
                t = ge.isFunction(t) ? t() : null == t ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t)
            };
            if (void 0 === t && (t = ge.ajaxSettings && ge.ajaxSettings.traditional), ge.isArray(e) || e.jquery && !ge.isPlainObject(e)) ge.each(e, function () {
                r(this.name, this.value)
            }); else for (n in e)ne(n, e[n], t, r);
            return i.join("&").replace(on, "+")
        }, ge.fn.extend({
            serialize: function () {
                return ge.param(this.serializeArray())
            }, serializeArray: function () {
                return this.map(function () {
                    var e = ge.prop(this, "elements");
                    return e ? ge.makeArray(e) : this
                }).filter(function () {
                    var e = this.type;
                    return this.name && !ge(this).is(":disabled") && cn.test(this.nodeName) && !ln.test(e) && (this.checked || !Fe.test(e))
                }).map(function (e, t) {
                    var n = ge(this).val();
                    return null == n ? null : ge.isArray(n) ? ge.map(n, function (e) {
                        return {name: t.name, value: e.replace(an, "\r\n")}
                    }) : {name: t.name, value: n.replace(an, "\r\n")}
                }).get()
            }
        }), ge.ajaxSettings.xhr = void 0 !== n.ActiveXObject ? function () {
            return this.isLocal ? re() : ae.documentMode > 8 ? ie() : /^(get|post|head|put|delete|options)$/i.test(this.type) && ie() || re()
        } : ie;
        var un = 0, dn = {}, hn = ge.ajaxSettings.xhr();
        n.attachEvent && n.attachEvent("onunload", function () {
            for (var e in dn)dn[e](void 0, !0)
        }), _e.cors = !!hn && "withCredentials" in hn, hn = _e.ajax = !!hn, hn && ge.ajaxTransport(function (e) {
            if (!e.crossDomain || _e.cors) {
                var t;
                return {
                    send: function (i, r) {
                        var o, s = e.xhr(), a = ++un;
                        if (s.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields)for (o in e.xhrFields)s[o] = e.xhrFields[o];
                        e.mimeType && s.overrideMimeType && s.overrideMimeType(e.mimeType), e.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest");
                        for (o in i)void 0 !== i[o] && s.setRequestHeader(o, i[o] + "");
                        s.send(e.hasContent && e.data || null), t = function (n, i) {
                            var o, l, c;
                            if (t && (i || 4 === s.readyState))if (delete dn[a], t = void 0, s.onreadystatechange = ge.noop, i) 4 !== s.readyState && s.abort(); else {
                                c = {}, o = s.status, "string" == typeof s.responseText && (c.text = s.responseText);
                                try {
                                    l = s.statusText
                                } catch (e) {
                                    l = ""
                                }
                                o || !e.isLocal || e.crossDomain ? 1223 === o && (o = 204) : o = c.text ? 200 : 404
                            }
                            c && r(o, l, c, s.getAllResponseHeaders())
                        }, e.async ? 4 === s.readyState ? n.setTimeout(t) : s.onreadystatechange = dn[a] = t : t()
                    }, abort: function () {
                        t && t(void 0, !0)
                    }
                }
            }
        }), ge.ajaxSetup({
            accepts: {script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},
            contents: {script: /\b(?:java|ecma)script\b/},
            converters: {
                "text script": function (e) {
                    return ge.globalEval(e), e
                }
            }
        }), ge.ajaxPrefilter("script", function (e) {
            void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET", e.global = !1)
        }), ge.ajaxTransport("script", function (e) {
            if (e.crossDomain) {
                var t, n = ae.head || ge("head")[0] || ae.documentElement;
                return {
                    send: function (i, r) {
                        t = ae.createElement("script"), t.async = !0, e.scriptCharset && (t.charset = e.scriptCharset), t.src = e.url, t.onload = t.onreadystatechange = function (e, n) {
                            (n || !t.readyState || /loaded|complete/.test(t.readyState)) && (t.onload = t.onreadystatechange = null, t.parentNode && t.parentNode.removeChild(t), t = null, n || r(200, "success"))
                        }, n.insertBefore(t, n.firstChild)
                    }, abort: function () {
                        t && t.onload(void 0, !0)
                    }
                }
            }
        });
        var pn = [], fn = /(=)\?(?=&|$)|\?\?/;
        ge.ajaxSetup({
            jsonp: "callback", jsonpCallback: function () {
                var e = pn.pop() || ge.expando + "_" + Wt++;
                return this[e] = !0, e
            }
        }), ge.ajaxPrefilter("json jsonp", function (e, t, i) {
            var r, o, s,
                a = !1 !== e.jsonp && (fn.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && fn.test(e.data) && "data");
            if (a || "jsonp" === e.dataTypes[0])return r = e.jsonpCallback = ge.isFunction(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, a ? e[a] = e[a].replace(fn, "$1" + r) : !1 !== e.jsonp && (e.url += ($t.test(e.url) ? "&" : "?") + e.jsonp + "=" + r), e.converters["script json"] = function () {
                return s || ge.error(r + " was not called"), s[0]
            }, e.dataTypes[0] = "json", o = n[r], n[r] = function () {
                s = arguments
            }, i.always(function () {
                void 0 === o ? ge(n).removeProp(r) : n[r] = o, e[r] && (e.jsonpCallback = t.jsonpCallback, pn.push(r)), s && ge.isFunction(o) && o(s[0]), s = o = void 0
            }), "script"
        }), ge.parseHTML = function (e, t, n) {
            if (!e || "string" != typeof e)return null;
            "boolean" == typeof t && (n = t, t = !1), t = t || ae;
            var i = Te.exec(e), r = !n && [];
            return i ? [t.createElement(i[1])] : (i = x([e], t, r), r && r.length && ge(r).remove(), ge.merge([], i.childNodes))
        };
        var _n = ge.fn.load;
        ge.fn.load = function (e, t, n) {
            if ("string" != typeof e && _n)return _n.apply(this, arguments);
            var i, r, o, s = this, a = e.indexOf(" ");
            return a > -1 && (i = ge.trim(e.slice(a, e.length)), e = e.slice(0, a)), ge.isFunction(t) ? (n = t, t = void 0) : t && "object" == typeof t && (r = "POST"), s.length > 0 && ge.ajax({
                url: e,
                type: r || "GET",
                dataType: "html",
                data: t
            }).done(function (e) {
                o = arguments, s.html(i ? ge("<div>").append(ge.parseHTML(e)).find(i) : e)
            }).always(n && function (e, t) {
                    s.each(function () {
                        n.apply(this, o || [e.responseText, t, e])
                    })
                }), this
        }, ge.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
            ge.fn[t] = function (e) {
                return this.on(t, e)
            }
        }), ge.expr.filters.animated = function (e) {
            return ge.grep(ge.timers, function (t) {
                return e === t.elem
            }).length
        }, ge.offset = {
            setOffset: function (e, t, n) {
                var i, r, o, s, a, l, c, u = ge.css(e, "position"), d = ge(e), h = {};
                "static" === u && (e.style.position = "relative"), a = d.offset(), o = ge.css(e, "top"), l = ge.css(e, "left"), c = ("absolute" === u || "fixed" === u) && ge.inArray("auto", [o, l]) > -1, c ? (i = d.position(), s = i.top, r = i.left) : (s = parseFloat(o) || 0, r = parseFloat(l) || 0), ge.isFunction(t) && (t = t.call(e, n, ge.extend({}, a))), null != t.top && (h.top = t.top - a.top + s), null != t.left && (h.left = t.left - a.left + r), "using" in t ? t.using.call(e, h) : d.css(h)
            }
        }, ge.fn.extend({
            offset: function (e) {
                if (arguments.length)return void 0 === e ? this : this.each(function (t) {
                    ge.offset.setOffset(this, e, t)
                });
                var t, n, i = {top: 0, left: 0}, r = this[0], o = r && r.ownerDocument;
                if (o)return t = o.documentElement, ge.contains(t, r) ? (void 0 !== r.getBoundingClientRect && (i = r.getBoundingClientRect()), n = oe(o), {
                    top: i.top + (n.pageYOffset || t.scrollTop) - (t.clientTop || 0),
                    left: i.left + (n.pageXOffset || t.scrollLeft) - (t.clientLeft || 0)
                }) : i
            }, position: function () {
                if (this[0]) {
                    var e, t, n = {top: 0, left: 0}, i = this[0];
                    return "fixed" === ge.css(i, "position") ? t = i.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), ge.nodeName(e[0], "html") || (n = e.offset()), n.top += ge.css(e[0], "borderTopWidth", !0), n.left += ge.css(e[0], "borderLeftWidth", !0)), {
                        top: t.top - n.top - ge.css(i, "marginTop", !0),
                        left: t.left - n.left - ge.css(i, "marginLeft", !0)
                    }
                }
            }, offsetParent: function () {
                return this.map(function () {
                    for (var e = this.offsetParent; e && !ge.nodeName(e, "html") && "static" === ge.css(e, "position");)e = e.offsetParent;
                    return e || _t
                })
            }
        }), ge.each({scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function (e, t) {
            var n = /Y/.test(t);
            ge.fn[e] = function (i) {
                return ze(this, function (e, i, r) {
                    var o = oe(e);
                    if (void 0 === r)return o ? t in o ? o[t] : o.document.documentElement[i] : e[i];
                    o ? o.scrollTo(n ? ge(o).scrollLeft() : r, n ? r : ge(o).scrollTop()) : e[i] = r
                }, e, i, arguments.length, null)
            }
        }), ge.each(["top", "left"], function (e, t) {
            ge.cssHooks[t] = R(_e.pixelPosition, function (e, n) {
                if (n)return n = mt(e, t), pt.test(n) ? ge(e).position()[t] + "px" : n
            })
        }), ge.each({Height: "height", Width: "width"}, function (e, t) {
            ge.each({padding: "inner" + e, content: t, "": "outer" + e}, function (n, i) {
                ge.fn[i] = function (i, r) {
                    var o = arguments.length && (n || "boolean" != typeof i),
                        s = n || (!0 === i || !0 === r ? "margin" : "border");
                    return ze(this, function (t, n, i) {
                        var r;
                        return ge.isWindow(t) ? t.document.documentElement["client" + e] : 9 === t.nodeType ? (r = t.documentElement, Math.max(t.body["scroll" + e], r["scroll" + e], t.body["offset" + e], r["offset" + e], r["client" + e])) : void 0 === i ? ge.css(t, n, s) : ge.style(t, n, i, s)
                    }, t, o ? i : void 0, o, null)
                }
            })
        }), ge.fn.extend({
            bind: function (e, t, n) {
                return this.on(e, null, t, n)
            }, unbind: function (e, t) {
                return this.off(e, null, t)
            }, delegate: function (e, t, n, i) {
                return this.on(t, e, n, i)
            }, undelegate: function (e, t, n) {
                return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
            }
        }), ge.fn.size = function () {
            return this.length
        }, ge.fn.andSelf = ge.fn.addBack, i = [], void 0 !== (r = function () {
            return ge
        }.apply(t, i)) && (e.exports = r);
        var gn = n.jQuery, mn = n.$;
        return ge.noConflict = function (e) {
            return n.$ === ge && (n.$ = mn), e && n.jQuery === ge && (n.jQuery = gn), ge
        }, o || (n.jQuery = n.$ = ge), ge
    })
}, , function (e, t, n) {
    "use strict";
    t.decode = t.parse = n(56), t.encode = t.stringify = n(57)
}, , , , function (e, t) {
    e.exports = {
        rongIMID: "6tnym1br6jh77",
        password_salt: "[-69, -21, 76, -120, -56, 120, -60, 1, 96, 27, 116, 37, -83, 86, 100, 56, 127, -61, 81, 32, -28, 78, 27, -64]",
        s3_bucket_name: "coincola.user",
        baidu_analysis: "https://hm.baidu.com/hm.js?ee5ad26ea2a32dbc16eb85d1d2cc3694",
        cdn_path: "https://cdn.coincola.com",
        google_analysis: "UA-99311124-1",
        facebook_pixel: "207591069778456",
        hotjar_id: 621046
    }
}, function (module, exports, __webpack_require__) {
    function hmacSHA1(e) {
        var t = new sjcl.misc.hmac(e, sjcl.hash.sha1);
        this.encrypt = function () {
            return t.encrypt.apply(t, arguments)
        }
    }

    var sjcl = __webpack_require__(94), config = __webpack_require__(6);
    sjcl.hash.sha1 = function (e) {
        e ? (this._h = e._h.slice(0), this._buffer = e._buffer.slice(0), this._length = e._length) : this.reset()
    }, sjcl.hash.sha1.hash = function (e) {
        return (new sjcl.hash.sha1).update(e).finalize()
    }, sjcl.hash.sha1.prototype = {
        blockSize: 512,
        reset: function () {
            return this._h = this._init.slice(0), this._buffer = [], this._length = 0, this
        },
        update: function (e) {
            "string" == typeof e && (e = sjcl.codec.utf8String.toBits(e));
            var t, n = this._buffer = sjcl.bitArray.concat(this._buffer, e), i = this._length,
                r = this._length = i + sjcl.bitArray.bitLength(e);
            if (r > 9007199254740991)throw new sjcl.exception.invalid("Cannot hash more than 2^53 - 1 bits");
            if ("undefined" != typeof Uint32Array) {
                var o = new Uint32Array(n), s = 0;
                for (t = this.blockSize + i - (this.blockSize + i & this.blockSize - 1); t <= r; t += this.blockSize)this._block(o.subarray(16 * s, 16 * (s + 1))), s += 1;
                n.splice(0, 16 * s)
            } else for (t = this.blockSize + i - (this.blockSize + i & this.blockSize - 1); t <= r; t += this.blockSize)this._block(n.splice(0, 16));
            return this
        },
        finalize: function () {
            var e, t = this._buffer, n = this._h;
            for (t = sjcl.bitArray.concat(t, [sjcl.bitArray.partial(1, 1)]), e = t.length + 2; 15 & e; e++)t.push(0);
            for (t.push(Math.floor(this._length / 4294967296)), t.push(0 | this._length); t.length;)this._block(t.splice(0, 16));
            return this.reset(), n
        },
        _init: [1732584193, 4023233417, 2562383102, 271733878, 3285377520],
        _key: [1518500249, 1859775393, 2400959708, 3395469782],
        _f: function (e, t, n, i) {
            return e <= 19 ? t & n | ~t & i : e <= 39 ? t ^ n ^ i : e <= 59 ? t & n | t & i | n & i : e <= 79 ? t ^ n ^ i : void 0
        },
        _S: function (e, t) {
            return t << e | t >>> 32 - e
        },
        _block: function (e) {
            var t, n, i, r, o, s, a, l, c = this._h;
            if ("undefined" != typeof Uint32Array) {
                l = Array(80);
                for (var u = 0; u < 16; u++)l[u] = e[u]
            } else l = e;
            for (i = c[0], r = c[1], o = c[2], s = c[3], a = c[4], t = 0; t <= 79; t++)t >= 16 && (l[t] = this._S(1, l[t - 3] ^ l[t - 8] ^ l[t - 14] ^ l[t - 16])), n = this._S(5, i) + this._f(t, r, o, s) + a + l[t] + this._key[Math.floor(t / 20)] | 0, a = s, s = o, o = this._S(30, r), r = i, i = n;
            c[0] = c[0] + i | 0, c[1] = c[1] + r | 0, c[2] = c[2] + o | 0, c[3] = c[3] + s | 0, c[4] = c[4] + a | 0
        }
    }, sjcl.hmacSHA1 = hmacSHA1, sjcl.getHexKey = function (pw) {
        var byte = config.password_salt, type = null;
        try {
            byte = eval(byte), type = "Array"
        } catch (e) {
            type = "String"
        }
        if ("Array" === type) {
            var byte2 = "";
            for (var i in byte) {
                byte[i] = byte[i] < 0 ? byte[i] + 256 : byte[i];
                var tempByte = byte[i].toString(16);
                1 === ("" + tempByte).length && (tempByte = "0" + tempByte), byte2 += tempByte
            }
            return sjcl.codec.hex.fromBits(sjcl.misc.pbkdf2(pw, sjcl.codec.hex.toBits(byte2), 1e3, 192, hmacSHA1))
        }
        return sjcl.codec.hex.fromBits(sjcl.misc.pbkdf2(pw, byte, 1e3, 192, hmacSHA1))
    }, module.exports = sjcl
}, , , function (e, t, n) {
    (function (t) {
        function i(e) {
            var t = e.attr("check-type");
            if (r[t] instanceof RegExp) {
                return r[t].test(e.val())
            }
            return r[t](e)
        }

        n(108), e.exports = function () {
            t(".input-cont .select[searchable]").chosen(), t(".input-cont .input").focus(function (e) {
                t(this).prev().addClass("active")
            }), t.fn.toggleError = function (e) {
                e ? (this.find(".form-tips").removeClass("error").addClass("success"), this.find(".error-msg").hide()) : (this.find(".form-tips").removeClass("success").addClass("error"), this.find(".error-msg").show())
            }, t(".input-cont .input[validate]").bind("keyup change", function (e) {
                t(t(this).parent()).toggleError(i(t(this)))
            }), t(".input-cont .input").on("blur", function (e) {
                t(this).parents(".input-cont").find(".icon").removeClass("active")
            }), t(".input-cont .input").bind("keydown", function (e) {
                t(e.target).parents(".input-cont").find(".placeholder").hide()
            }), t(".input-cont .input").bind("keyup", function (e) {
                var n = t(e.target);
                "" === n.val() ? n.parents(".input-cont").find(".placeholder").show() : n.parents(".input-cont").find(".placeholder").hide()
            }), t(".input-cont .placeholder").click(function (e) {
                t(e.target).parent().find(".input").focus()
            })
        }();
        var r = {
            real_name: /[\u4e00-\u9fa5]+/,
            id_card: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/,
            email: /^[a-zA-Z0-9\_\.]+\@[a-zA-Z0-9]+\.[a-zA-Z]+$/,
            password: /^[a-zA-Z0-9\`\-\=\~\!\@\#\$\%\^\&\*\(\)\_\+\[\]\\\;\'\,\.\/\{\}\|\:\"\<\>\?]{6,16}$/,
            password1: /^[a-zA-Z0-9\`\-\=\~\!\@\#\$\%\^\&\*\(\)\_\+\[\]\\\;\'\,\.\/\{\}\|\:\"\<\>\?]{6,}$/,
            phone: /^[0-9]+$/,
            username: /^[a-zA-Z]+[0-9a-zA-Z\_]{4,16}$/,
            one_time_code: /^[0-9][0-9][0-9][0-9][0-9][0-9]$/,
            address: function (e) {
                var t = e.val();
                return t = t.replace(/(^[\s]+)|([\s]+$)/g, ""), e.val(t), /^[a-zA-Z0-9]{26,35}$/.test(t)
            },
            margin: function (e) {
                var t = e.val();
                if (/\./.test(t)) {
                    t.toString().replace(/[0-9]*\./, "").length > 2 && e.val(parseFloat(e.val()).toFixed(2))
                }
                return !(Math.abs(e.val()) > 99.99)
            },
            min_amount: function (e) {
                if ("" !== t("[name=max_amount]").val() || !parseInt(t("[name=max_amount]")))return !(parseInt(e.val()) >= parseInt(t("[name=max_amount]").val())) && (t("[name=max_amount]").parent().toggleError(!0), !0)
            },
            max_amount: function (e) {
                if ("" !== t("[name=min_amount]").val() || !parseInt(t("[name=max_amount]")))return !(parseInt(e.val()) <= parseInt(t("[name=min_amount]").val())) && (t("[name=min_amount]").parent().toggleError(!0), !0)
            },
            payment_window_minutes: function (e) {
                var t = e.val();
                return !(t > 45 || t < 5 || parseInt(t).toString() !== t)
            },
            payment_details: function (e) {
                return !(e.val().length > 200)
            },
            message: function (e) {
                return !(e.val().length > 4096)
            },
            quantity: function (e) {
                var n = e.val(), i = n.match(/\./g) ? n.match(/\./g).length : 0;
                if (!/[^0123456789\.]/.test(n) && i < 2) {
                    var r = parseFloat(e.val());
                    return ("" + r).split(".")[1] && ("" + r).split(".")[1].length > 8 && e.val(r.toFixed(8) > 0 ? r.toFixed(8) : 0), r > parseFloat(getCookie("account_available")) - parseFloat(t("#reserve").text()) && (r = parseFloat(getCookie("account_available")) - parseFloat(t("#reserve").text()), e.val(r.toFixed(8) > 0 ? r.toFixed(8) : 0)), !0
                }
                return !1
            }
        }
    }).call(t, n(0))
}, , , , , , function (e, t, n) {
    (function (t) {
        function i() {
            t("body").find("audio").length <= 0 && t("body").append("<audio id='audioPlay' src='/static/voice/tips-new-message.wav' hidden='true'>");
            var e = (document.getElementById("audioPlay"), this);
            e.userToken = null, e.userId = null, e.lastTip = 0, e.status = !1, e.init = function (n, i) {
                t.ajax({
                    url: location.origin + "/api/user/im_token", success: function (t) {
                        "object" != typeof t && (t = JSON.parse(t)), t.success && (e.userToken = t.data, e.connect(n, i))
                    }, error: function (e, t) {
                    }, complete: function (e, t) {
                        try {
                            1005 === JSON.parse(e.responseText).code && (delCookie("username"), delCookie("access_token"), delCookie("account_available"), delCookie("account_locked"))
                        } catch (e) {
                        }
                    }
                })
            }, e.connect = function (t, n) {
                window.RongIMClient.init(s.rongIMID), window.RongIMClient.connect(e.userToken, {
                    onSuccess: function (t) {
                        e.userId = t, n && n(function () {
                            e.status = "connected"
                        })
                    }, onTokenIncorrect: function () {
                        console.log("token无效")
                    }, onError: function (e) {
                        var t = "";
                        switch (e) {
                            case RongIMLib.ErrorCode.TIMEOUT:
                                t = "超时";
                                break;
                            case RongIMLib.ErrorCode.UNKNOWN_ERROR:
                                t = "未知错误";
                                break;
                            case RongIMLib.ErrorCode.UNACCEPTABLE_PaROTOCOL_VERSION:
                                t = "不可接受的协议版本";
                                break;
                            case RongIMLib.ErrorCode.IDENTIFIER_REJECTED:
                                t = "appkey不正确";
                                break;
                            case RongIMLib.ErrorCode.SERVER_UNAVAILABLE:
                                t = "服务器不可用"
                        }
                        console.log(e, t)
                    }
                }), window.RongIMClient.setConnectionStatusListener({
                    onChanged: function (e) {
                        switch (e) {
                            case RongIMLib.ConnectionStatus.CONNECTED:
                                console.log("链接成功");
                                break;
                            case RongIMLib.ConnectionStatus.CONNECTING:
                                console.log("正在链接");
                                break;
                            case RongIMLib.ConnectionStatus.DISCONNECTED:
                                console.log("断开连接");
                                break;
                            case RongIMLib.ConnectionStatus.KICKED_OFFLINE_BY_OTHER_CLIENT:
                                console.log("其他设备登录");
                                break;
                            case RongIMLib.ConnectionStatus.NETWORK_UNAVAILABLE:
                                console.log("网络不可用")
                        }
                    }
                }), window.RongIMClient.setOnReceiveMessageListener({
                    onReceived: function (e) {
                        if (e.content.extra = JSON.parse(e.content.extra), !e.content.extra.chat_id || "placeholder" === e.content.extra.chat_id)return !1;
                        if (e.content.content = e.content.content.replace(/</g, "&lt;").replace(/>/g, "&gt;"), e.offLineMessage) o(e); else {
                            var n = localStorage.msgList ? JSON.parse(localStorage.msgList)[e.content.extra.chat_id] : [],
                                i = !1;
                            if (n)for (var s in n)if (n[s].sentTime === e.sentTime) {
                                i = !0;
                                break
                            }
                            i || e.content.extra.sender_name === getCookie("username") ? i || e.content.extra.sender_name !== getCookie("username") || (r(e, "send"), t && t(e)) : (r(e, "received"), t && t(e), document.hidden && !tabNewMessage.getStatus() && tabNewMessage.set())
                        }
                    }
                })
            }, e.send = function (t, n, i, o, s, a) {
                n.extra = JSON.stringify(n.extra), RongIMClient.getInstance().sendMessage(RongIMLib.ConversationType.PRIVATE, t, new RongIMLib.TextMessage(n), {
                    onSuccess: function (t) {
                        t.content.extra = JSON.parse(t.content.extra), t.content.content = t.content.content.replace(/</g, "&lt;").replace(/>/g, "&gt;"), r(t, "send", i, o), e.setMsgHaveRead(t.content.extra.chat_id), s && s(t)
                    }, onError: function (e, t) {
                        a && a(e, t)
                    }
                })
            }, e.sendImg = function (t, n, i, o, s, a) {
                n.extra = JSON.stringify(n.extra), RongIMClient.getInstance().sendMessage(RongIMLib.ConversationType.PRIVATE, t, new RongIMLib.ImageMessage(n), {
                    onSuccess: function (t) {
                        t.content.extra = JSON.parse(t.content.extra), r(t, "send", i), e.setMsgHaveRead(t.content.extra.chat_id), s && s(t)
                    }, onError: function (e, t) {
                        a && a(e, t)
                    }
                })
            }, e.setMsgHaveRead = function (e, t) {
                var n = localStorage.msgInfo ? JSON.parse(localStorage.msgInfo) : {};
                n[e] = n[e] ? n[e] : {}, n[e].unread = 0, localStorage.msgInfo = JSON.stringify(n), t && t()
            }
        }

        function r(e, n, i, r) {
            6 === e.conversationType && "buy" === e.content.extra.type && "SELLER_CONFIRMED" === e.content.extra.stage && t.ajax({
                url: "/api/chat/" + e.content.extra.chat_id + "/info",
                finish: function (e) {
                    var n = e.data.trade.id;
                    t.ajax({
                        url: "/api/trade/" + n + "/scratchcard", finish: function (e) {
                            e.data.scratchcard && "ACTIVATED" === e.data.scratchcard.status && insertLuckyCard(e.data.scratchcard)
                        }
                    })
                }
            });
            var o = localStorage.getItem("msgList") ? JSON.parse(localStorage.getItem("msgList")) : {},
                s = localStorage.getItem("msgInfo") ? JSON.parse(localStorage.getItem("msgInfo")) : {};
            o[e.content.extra.chat_id] || (o[e.content.extra.chat_id] = [], s[e.content.extra.chat_id] = {}), o[e.content.extra.chat_id].push(e);
            var a = s[e.content.extra.chat_id] ? s[e.content.extra.chat_id] : {}, l = "";
            l = "send" === n ? "SELL" === e.content.extra.type ? "BUY" : "SELL" : e.content.extra.type, a = {
                unread: a.unread >= 0 ? a.unread + 1 : 1,
                fellowRongyunId: "send" === n ? e.targetId : e.senderUserId,
                fellowAvatar: a.fellowAvatar ? a.fellowAvatar : r,
                chatType: a.chatType ? a.chatType : l,
                fellowName: a.fellowName ? a.fellowName : "send" === n ? i : e.content.extra.sender_name,
                timestamp: e.sentTime,
                msgType: 6 === e.conversationType ? "SYSTEM" : "TextMessage" === e.messageType ? "TEXT" : "IMG",
                imgUrl: e.content.imageUri
            }, 6 === e.conversationType && (a.stage = e.content.extra.stage), s[e.content.extra.chat_id] = a, localStorage.setItem("msgList", JSON.stringify(o)), localStorage.setItem("msgInfo", JSON.stringify(s))
        }

        function o(e) {
            var t = localStorage.getItem("msgList") ? JSON.parse(localStorage.getItem("msgList")) : {},
                n = localStorage.getItem("msgInfo") ? JSON.parse(localStorage.getItem("msgInfo")) : {};
            t[e.content.extra.chat_id] || (t[e.content.extra.chat_id] = [], n[e.content.extra.chat_id] = {});
            for (var i = !1, r = 0; r < t[e.content.extra.chat_id].length; r++)if (e.sentTime === t[e.content.extra.chat_id][r].sentTime) {
                i = !0;
                break
            }
            i || t[e.content.extra.chat_id].push(e);
            var o = n[e.content.extra.chat_id] ? n[e.content.extra.chat_id] : {}, s = "";
            s = getCookie("username") === e.content.extra.sender_name ? "SELL" === e.content.extra.type ? "BUY" : "SELL" : e.content.extra.type, o = {
                unread: 0,
                fellowRongyunId: getCookie("username") === e.content.extra.sender_name ? e.targetId : e.senderUserId,
                fellowAvatar: o.fellowAvatar ? o.fellowAvatar : "/static/imgs/head_portrait60.png",
                chatType: s,
                fellowName: o.fellowName ? o.fellowName : getCookie("username") === e.content.extra.sender_name ? "[点击加载]" : e.content.extra.sender_name,
                timestamp: e.sentTime,
                msgType: 6 === e.conversationType ? "SYSTEM" : "TextMessage" === e.messageType ? "TEXT" : "IMG",
                imgUrl: e.content.imageUri
            }, 6 === e.conversationType && (o.stage = e.content.extra.stage), n[e.content.extra.chat_id] = o, localStorage.setItem("msgList", JSON.stringify(t)), localStorage.setItem("msgInfo", JSON.stringify(n))
        }

        var s = (n(24)("./" + getCookie("lang") + "/message.json"), n(33)("./" + getCookie("lang") + "/common.json"), n(6));
        e.exports = i
    }).call(t, n(0))
}, , , , , , , , function (e, t, n) {
    function i(e) {
        return n(r(e))
    }

    function r(e) {
        var t = o[e];
        if (!(t + 1))throw new Error("Cannot find module '" + e + "'.");
        return t
    }

    var o = {"./en-US/message.json": 63, "./zh-CN/message.json": 75, "./zh-HK/message.json": 87};
    i.keys = function () {
        return Object.keys(o)
    }, i.resolve = r, e.exports = i, i.id = 24
}, , , , , , , function (e, t, n) {
    (function (t) {
        e.exports = function (e, i) {
            value = ["", "", "", "", "", ""], e.find("input").each(function (r, o) {
                t(o).on("focus", function (e) {
                    t(e.target).val("")
                }), t(o).on("keydown", function (e) {
                    return !1
                }), t(o).on("keyup", function (o) {
                    if (!(o.keyCode >= 96 && o.keyCode <= 105 || o.keyCode >= 48 && o.keyCode <= 57))return !1;
                    5 !== r ? (t(this).val(n[o.keyCode]), value[r] = n[o.keyCode], t(e.find("input")[r + 1]).focus()) : 5 === r && (t(this).val(n[o.keyCode]), value[r] = n[o.keyCode], t(this).blur(), i.finished && i.finished(value.toString().replace(/\,/g, "")))
                })
            })
        };
        var n = {
            96: 0,
            97: 1,
            98: 2,
            99: 3,
            100: 4,
            101: 5,
            102: 6,
            103: 7,
            104: 8,
            105: 9,
            48: 0,
            49: 1,
            50: 2,
            51: 3,
            52: 4,
            53: 5,
            54: 6,
            55: 7,
            56: 8,
            57: 9
        }
    }).call(t, n(0))
}, function (e, t) {
    e.exports = function (e, t) {
        function n(e) {
            e.type === d && 0 === u ? (r(e.offsetX, e.offsetY), u = 1) : e.type === h && 1 === u ? r(e.offsetX, e.offsetY) : e.type === p && 1 === u && (c = i(), c > (t.areaToOpen || .5) ? (_.fillRect(0, 0, s, a), f.parentNode.removeChild(f), t.done && t.done()) : t.continue && t.continue(), u = 0)
        }

        function i() {
            for (var e = _.getImageData(0, 0, s, a).data, n = (o(t.unSlideBg || "#dde4e9"), 0), i = 0; i < l; i++) {
                var r = 4 * i;
                0 === e[r] && 0 === e[r + 1] && 0 === e[r + 2] && 0 === e[r + 3] && (n += 1)
            }
            return n / (e.length / 4)
        }

        function r(e, n) {
            _.beginPath(), _.arc(e, n, t.clearWeight || 15, 0, 2 * Math.PI), _.fill()
        }

        function o(e) {
            var t = e.toLowerCase();
            if (4 === t.length) {
                for (var n = "#", i = 1; i < 4; i += 1)n += t.slice(i, i + 1).concat(t.slice(i, i + 1));
                t = n
            }
            for (var r = [], i = 1; i < 7; i += 2)r.push(parseInt("0x" + t.slice(i, i + 2)));
            return r
        }

        var s = e.clientWidth, a = e.clientHeight, l = s * a, c = 0, u = 0;
        if ("ontouchstart" in window)var d = "touchstart", h = "touchmove", p = "touchend"; else var d = "mousedown",
            h = "mousemove", p = "mouseup";
        var f = document.createElement("CANVAS");
        f.setAttribute("width", s), f.setAttribute("height", a), f.className = "lucky-card-shade";
        var _ = f.getContext("2d");
        _.fillStyle = t.unSlideBg || "#dde4e9", _.fillRect(0, 0, s, a), _.fillStyle = "#fff", _.globalCompositeOperation = "destination-out", f.addEventListener(d, n), f.addEventListener(h, n), f.addEventListener(p, n), this.canvas = f, this.ctx = _, e.appendChild(f)
    }
}, function (e, t, n) {
    function i(e) {
        return n(r(e))
    }

    function r(e) {
        var t = o[e];
        if (!(t + 1))throw new Error("Cannot find module '" + e + "'.");
        return t
    }

    var o = {"./en-US/common.json": 61, "./zh-CN/common.json": 73, "./zh-HK/common.json": 85};
    i.keys = function () {
        return Object.keys(o)
    }, i.resolve = r, e.exports = i, i.id = 33
}, , , , , , , function (e, t, n) {
    function i(e) {
        return n(r(e))
    }

    function r(e) {
        var t = o[e];
        if (!(t + 1))throw new Error("Cannot find module '" + e + "'.");
        return t
    }

    var o = {"./en-US/invite.json": 62, "./zh-CN/invite.json": 74, "./zh-HK/invite.json": 86};
    i.keys = function () {
        return Object.keys(o)
    }, i.resolve = r, e.exports = i, i.id = 40
}, function (e, t, n) {
    (function (t) {
        function i(e) {
            var n = 0, i = localStorage.msgInfo ? JSON.parse(localStorage.msgInfo) : {};
            for (var o in i)0 === i[o].unread || e || r(i[o], o), n += i[o].unread ? i[o].unread : 0;
            if (t(".message-count").text(""), e)return n;
            n > 0 && t(".message-count").show()
        }

        function r(e, i) {
            var r = n(33)("./" + getCookie("lang") + "/common.json");
            if (0 === t(".item-message a[chatid=" + i + "]").length)var o = '<a href="/order/from_chat?chat_id=' + i + '" chatid="' + i + '" class="message-item">' + e.fellowName + r.label_new_message_send_you + ("BUY" === e.chatType ? r.label_new_message_buy : r.label_new_message_sell) + r.label_new_message + "</a>"; else var o = "";
            t(".item-message").prepend(o)
        }

        var o = (n(6), n(110));
        e.exports = function () {
            function e(e, t) {
                var n = {fellow: null, me: null};
                return e.name === l("username") ? (n.fellow = t.avatar, n.me = e.avatar) : (n.fellow = e.avatar, n.me = t.avatar), n
            }

            function s(e) {
                var t, n, i = e.toString(), r = e > 0, o = /([0-9\.]+)e([\-]?\d+)/, s = "";
                if (o.test(i)) {
                    t = i.match(o), n = Math.abs(t[2]) - 1;
                    for (var a = 0; a < n; a++)s += "0";
                    return (r ? "0." : "-0.") + s + t[1].replace(".", "")
                }
                return e
            }

            function a() {
                var e = i(!0);
                0 === e ? t("title").text(t("title").text().replace(/\[[\s\S]+\]/, "")) : t("title").text("[" + e + c.label_message_unreade + "]" + t("title").text().replace(/\[[\s\S]+\]/, ""))
            }

            var l = function (e) {
                var t = new RegExp(e + "=([^;]*)");
                try {
                    return document.cookie.match(t)[1]
                } catch (e) {
                    return !1
                }
            }, c = n(33)("./" + l("lang") + "/common.json");
            n(111)(l);
            var u = function (e, t, n) {
                if (n)var i = new Date(n).toGMTString(); else var i = "Session";
                document.cookie = e + "=" + t + ";path=/; expires=" + i
            }, d = function (e) {
                var t = new Date;
                t.setTime(t.getTime() - 1e3), document.cookie = e + "=xxx;path=/;expires=" + t.toGMTString()
            }, h = l("lang").split("-")[1], p = function (e, n, i) {
                var r = t('<div class="dialog-msg"></div>');
                r.text(e), dialog({
                    content: r, button: n || [{
                        value: c.label_ok_value, callback: function () {
                            this.remove()
                        }
                    }]
                }).showModal()
            };
            Date.prototype.toMyString = function () {
                if ("Invalid Date" == this)return "--";
                var e = "yyyy-MM-dd hh:mm:ss", t = {
                    "M+": this.getMonth() + 1,
                    "d+": this.getDate(),
                    "h+": this.getHours(),
                    "m+": this.getMinutes(),
                    "s+": this.getSeconds(),
                    "q+": Math.floor((this.getMonth() + 3) / 3),
                    "S+": this.getMilliseconds()
                };
                /(y+)/i.test(e) && (e = e.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)));
                for (var n in t)new RegExp("(" + n + ")").test(e) && (e = e.replace(RegExp.$1, 1 == RegExp.$1.length ? t[n] : ("00" + t[n]).substr(("" + t[n]).length)));
                return e
            };
            var f = {
                PLACED_ORDER: 1,
                BUYER_PAID: 2,
                SELLER_CONFIRMED: 3,
                BUYER_COMMENTED: 4,
                SELLER_COMMENTED: 5,
                FINISHED: 6,
                CLOSED: 7,
                EXPIRED: 8,
                PAID_CLOSED: 9
            };
            return t(document).bind("ready", function (e) {
                n(109)()
            }), function () {
                window.getCookie = l, window.country_code = h, window.setCookie = u, window.delCookie = d, window.tipsDialog = p, window.getUnreadMsg = i, window.setUnreadMsg = r, window.setAvatar = e, window.setTitleMsgUnread = a, window.scientificToNumber = s, window.tabNewMessage = new o, n(112), window.orderStageMap = f
            }()
        }()
    }).call(t, n(0))
}, , , , , , , , , , function (e, t, n) {
    (function (e) {/*! artDialog v6.0.5 | https://github.com/aui/artDialog */
        !function () {
            function t(e) {
                var n = i[e];
                return "object" == typeof n ? n : (n.exports || (n.exports = {}, n.exports = n.call(n.exports, t, n.exports, n) || n.exports), n.exports)
            }

            function n(e, t) {
                i[e] = t
            }

            var i = {};
            n("jquery", function () {
                return e
            }), /*!
             * PopupJS
             * Date: 2014-11-09
             * https://github.com/aui/popupjs
             * (c) 2009-2014 TangBin, http://www.planeArt.cn
             *
             * This is licensed under the GNU LGPL, version 2.1 or later.
             * For details, see: http://www.gnu.org/licenses/lgpl-2.1.html
             */
                n("popup", function (e) {
                    function t() {
                        this.destroyed = !1, this.__popup = n("<div />").css({
                            display: "none",
                            position: "absolute",
                            outline: 0
                        }).attr("tabindex", "-1").html(this.innerHTML).appendTo("body"), this.__backdrop = this.__mask = n("<div />").css({
                            opacity: .7,
                            background: "#000"
                        }), this.node = this.__popup[0], this.backdrop = this.__backdrop[0], i++
                    }

                    var n = e("jquery"), i = 0, r = !("minWidth" in n("html")[0].style), o = !r;
                    return n.extend(t.prototype, {
                        node: null,
                        backdrop: null,
                        fixed: !1,
                        destroyed: !0,
                        open: !1,
                        returnValue: "",
                        autofocus: !0,
                        align: "bottom left",
                        innerHTML: "",
                        className: "ui-popup",
                        show: function (e) {
                            if (this.destroyed)return this;
                            var i = this.__popup, s = this.__backdrop;
                            if (this.__activeElement = this.__getActive(), this.open = !0, this.follow = e || this.follow, !this.__ready) {
                                if (i.addClass(this.className).attr("role", this.modal ? "alertdialog" : "dialog").css("position", this.fixed ? "fixed" : "absolute"), r || n(window).on("resize", n.proxy(this.reset, this)), this.modal) {
                                    var a = {
                                        position: "fixed",
                                        left: 0,
                                        top: 0,
                                        width: "100%",
                                        height: "100%",
                                        overflow: "hidden",
                                        userSelect: "none",
                                        zIndex: this.zIndex || t.zIndex
                                    };
                                    i.addClass(this.className + "-modal"), o || n.extend(a, {
                                        position: "absolute",
                                        width: n(window).width() + "px",
                                        height: n(document).height() + "px"
                                    }), s.css(a).attr({tabindex: "0"}).on("focus", n.proxy(this.focus, this)), this.__mask = s.clone(!0).attr("style", "").insertAfter(i), s.addClass(this.className + "-backdrop").insertBefore(i), this.__ready = !0
                                }
                                i.html() || i.html(this.innerHTML)
                            }
                            return i.addClass(this.className + "-show").show(), s.show(), this.reset().focus(), this.__dispatchEvent("show"), this
                        },
                        showModal: function () {
                            return this.modal = !0, this.show.apply(this, arguments)
                        },
                        close: function (e) {
                            return !this.destroyed && this.open && (void 0 !== e && (this.returnValue = e), this.__popup.hide().removeClass(this.className + "-show"), this.__backdrop.hide(), this.open = !1, this.blur(), this.__dispatchEvent("close")), this
                        },
                        remove: function () {
                            if (this.destroyed)return this;
                            this.__dispatchEvent("beforeremove"), t.current === this && (t.current = null), this.__popup.remove(), this.__backdrop.remove(), this.__mask.remove(), r || n(window).off("resize", this.reset), this.__dispatchEvent("remove");
                            for (var e in this)delete this[e];
                            return this
                        },
                        reset: function () {
                            var e = this.follow;
                            return e ? this.__follow(e) : this.__center(), this.__dispatchEvent("reset"), this
                        },
                        focus: function () {
                            var e = this.node, i = this.__popup, r = t.current, o = this.zIndex = t.zIndex++;
                            if (r && r !== this && r.blur(!1), !n.contains(e, this.__getActive())) {
                                var s = i.find("[autofocus]")[0];
                                !this._autofocus && s ? this._autofocus = !0 : s = e, this.__focus(s)
                            }
                            return i.css("zIndex", o), t.current = this, i.addClass(this.className + "-focus"), this.__dispatchEvent("focus"), this
                        },
                        blur: function () {
                            var e = this.__activeElement;
                            return !1 !== arguments[0] && this.__focus(e), this._autofocus = !1, this.__popup.removeClass(this.className + "-focus"), this.__dispatchEvent("blur"), this
                        },
                        addEventListener: function (e, t) {
                            return this.__getEventListener(e).push(t), this
                        },
                        removeEventListener: function (e, t) {
                            for (var n = this.__getEventListener(e), i = 0; i < n.length; i++)t === n[i] && n.splice(i--, 1);
                            return this
                        },
                        __getEventListener: function (e) {
                            var t = this.__listener;
                            return t || (t = this.__listener = {}), t[e] || (t[e] = []), t[e]
                        },
                        __dispatchEvent: function (e) {
                            var t = this.__getEventListener(e);
                            this["on" + e] && this["on" + e]();
                            for (var n = 0; n < t.length; n++)t[n].call(this)
                        },
                        __focus: function (e) {
                            try {
                                this.autofocus && !/^iframe$/i.test(e.nodeName) && e.focus()
                            } catch (e) {
                            }
                        },
                        __getActive: function () {
                            try {
                                var e = document.activeElement, t = e.contentDocument;
                                return t && t.activeElement || e
                            } catch (e) {
                            }
                        },
                        __center: function () {
                            var e = this.__popup, t = n(window), i = n(document), r = this.fixed,
                                o = r ? 0 : i.scrollLeft(), s = r ? 0 : i.scrollTop(), a = t.width(), l = t.height(),
                                c = e.width(), u = e.height(), d = (a - c) / 2 + o, h = 382 * (l - u) / 1e3 + s,
                                p = e[0].style;
                            p.left = Math.max(parseInt(d), o) + "px", p.top = Math.max(parseInt(h), s) + "px"
                        },
                        __follow: function (e) {
                            var t = e.parentNode && n(e), i = this.__popup;
                            if (this.__followSkin && i.removeClass(this.__followSkin), t) {
                                var r = t.offset();
                                if (r.left * r.top < 0)return this.__center()
                            }
                            var o = this, s = this.fixed, a = n(window), l = n(document), c = a.width(), u = a.height(),
                                d = l.scrollLeft(), h = l.scrollTop(), p = i.width(), f = i.height(),
                                _ = t ? t.outerWidth() : 0, g = t ? t.outerHeight() : 0, m = this.__offset(e),
                                b = m.left, v = m.top, y = s ? b - d : b, x = s ? v - h : v, w = s ? 0 : d,
                                k = s ? 0 : h, C = w + c - p, T = k + u - f, E = {}, S = this.align.split(" "),
                                N = this.className + "-",
                                A = {top: "bottom", bottom: "top", left: "right", right: "left"},
                                D = {top: "top", bottom: "top", left: "left", right: "left"},
                                L = [{top: x - f, bottom: x + g, left: y - p, right: y + _}, {
                                    top: x,
                                    bottom: x - f + g,
                                    left: y,
                                    right: y - p + _
                                }], I = {left: y + _ / 2 - p / 2, top: x + g / 2 - f / 2},
                                j = {left: [w, C], top: [k, T]};
                            n.each(S, function (e, t) {
                                L[e][t] > j[D[t]][1] && (t = S[e] = A[t]), L[e][t] < j[D[t]][0] && (S[e] = A[t])
                            }), S[1] || (D[S[1]] = "left" === D[S[0]] ? "top" : "left", L[1][S[1]] = I[D[S[1]]]), N += S.join("-") + " " + this.className + "-follow", o.__followSkin = N, t && i.addClass(N), E[D[S[0]]] = parseInt(L[0][S[0]]), E[D[S[1]]] = parseInt(L[1][S[1]]), i.css(E)
                        },
                        __offset: function (e) {
                            var t = e.parentNode, i = t ? n(e).offset() : {left: e.pageX, top: e.pageY};
                            e = t ? e : e.target;
                            var r = e.ownerDocument, o = r.defaultView || r.parentWindow;
                            if (o == window)return i;
                            var s = o.frameElement, a = n(r), l = a.scrollLeft(), c = a.scrollTop(), u = n(s).offset(),
                                d = u.left, h = u.top;
                            return {left: i.left + d - l, top: i.top + h - c}
                        }
                    }), t.zIndex = 1024, t.current = null, t
                }), n("dialog-config", {
                backdropBackground: "#000",
                backdropOpacity: .7,
                content: '<span class="ui-dialog-loading">Loading..</span>',
                title: "",
                statusbar: "",
                button: null,
                ok: null,
                cancel: null,
                okValue: "ok",
                cancelValue: "cancel",
                cancelDisplay: !0,
                width: "",
                height: "",
                padding: "",
                skin: "",
                quickClose: !1,
                cssUri: "../css/ui-dialog.css",
                innerHTML: '<div i="dialog" class="ui-dialog"><div class="ui-dialog-arrow-a"></div><div class="ui-dialog-arrow-b"></div><table class="ui-dialog-grid"><tr><td i="header" class="ui-dialog-header"><button i="close" class="ui-dialog-close">&#215;</button><div i="title" class="ui-dialog-title"></div></td></tr><tr><td i="body" class="ui-dialog-body"><div i="content" class="ui-dialog-content"></div></td></tr><tr><td i="footer" class="ui-dialog-footer"><div i="statusbar" class="ui-dialog-statusbar"></div><div i="button" class="ui-dialog-button"></div></td></tr></table></div>'
            }), /*!
             * artDialog
             * Date: 2014-11-09
             * https://github.com/aui/artDialog
             * (c) 2009-2014 TangBin, http://www.planeArt.cn
             *
             * This is licensed under the GNU LGPL, version 2.1 or later.
             * For details, see: http://www.gnu.org/licenses/lgpl-2.1.html
             */
                n("dialog", function (e) {
                    var t = e("jquery"), n = e("popup"), i = e("dialog-config"), r = i.cssUri;
                    if (r) {
                        var o = e[e.toUrl ? "toUrl" : "resolve"];
                        o && (r = o(r), r = '<link rel="stylesheet" href="' + r + '" />', t("base")[0] ? t("base").before(r) : t("head").append(r))
                    }
                    var s = 0, a = new Date - 0, l = !("minWidth" in t("html")[0].style),
                        c = "createTouch" in document && !("onmousemove" in document) || /(iPhone|iPad|iPod)/i.test(navigator.userAgent),
                        u = !l && !c, d = function (e, n, i) {
                            var r = e = e || {};
                            "string" != typeof e && 1 !== e.nodeType || (e = {
                                content: e,
                                fixed: !c
                            }), e = t.extend(!0, {}, d.defaults, e), e.original = r;
                            var o = e.id = e.id || a + s, l = d.get(o);
                            return l ? l.focus() : (u || (e.fixed = !1), e.quickClose && (e.modal = !0, e.backdropOpacity = 0), t.isArray(e.button) || (e.button = []), void 0 !== i && (e.cancel = i), e.cancel && e.button.push({
                                id: "cancel",
                                value: e.cancelValue,
                                callback: e.cancel,
                                display: e.cancelDisplay
                            }), void 0 !== n && (e.ok = n), e.ok && e.button.push({
                                id: "ok",
                                value: e.okValue,
                                callback: e.ok,
                                autofocus: !0
                            }), d.list[o] = new d.create(e))
                        }, h = function () {
                        };
                    h.prototype = n.prototype;
                    var p = d.prototype = new h;
                    return d.create = function (e) {
                        var i = this;
                        t.extend(this, new n);
                        var r = (e.original, t(this.node).html(e.innerHTML)), o = t(this.backdrop);
                        return this.options = e, this._popup = r, t.each(e, function (e, t) {
                            "function" == typeof i[e] ? i[e](t) : i[e] = t
                        }), e.zIndex && (n.zIndex = e.zIndex), r.attr({
                            "aria-labelledby": this._$("title").attr("id", "title:" + this.id).attr("id"),
                            "aria-describedby": this._$("content").attr("id", "content:" + this.id).attr("id")
                        }), this._$("close").css("display", !1 === this.cancel ? "none" : "").attr("title", this.cancelValue).on("click", function (e) {
                            i._trigger("cancel"), e.preventDefault()
                        }), this._$("dialog").addClass(this.skin), this._$("body").css("padding", this.padding), e.quickClose && o.on("onmousedown" in document ? "mousedown" : "click", function () {
                            return i._trigger("cancel"), !1
                        }), this.addEventListener("show", function () {
                            o.css({
                                opacity: 0,
                                background: e.backdropBackground
                            }).animate({opacity: e.backdropOpacity}, 150)
                        }), this._esc = function (e) {
                            var t = e.target, r = t.nodeName, o = /^input|textarea$/i, s = n.current === i,
                                a = e.keyCode;
                            !s || o.test(r) && "button" !== t.type || 27 === a && i._trigger("cancel")
                        }, t(document).on("keydown", this._esc), this.addEventListener("remove", function () {
                            t(document).off("keydown", this._esc), delete d.list[this.id]
                        }), s++, d.oncreate(this), this
                    }, d.create.prototype = p, t.extend(p, {
                        content: function (e) {
                            var n = this._$("content");
                            return "object" == typeof e ? (e = t(e), n.empty("").append(e.show()), this.addEventListener("beforeremove", function () {
                                t("body").append(e.hide())
                            })) : n.html(e), this.reset()
                        }, title: function (e) {
                            return this._$("title").text(e), this._$("header")[e ? "show" : "hide"](), this
                        }, width: function (e) {
                            return this._$("content").css("width", e), this.reset()
                        }, height: function (e) {
                            return this._$("content").css("height", e), this.reset()
                        }, button: function (e) {
                            e = e || [];
                            var n = this, i = "", r = 0;
                            return this.callbacks = {}, "string" == typeof e ? (i = e, r++) : t.each(e, function (e, o) {
                                var s = o.id = o.id || o.value, a = "";
                                n.callbacks[s] = o.callback, !1 === o.display ? a = ' style="display:none"' : r++, i += '<button type="button" i-id="' + s + '"' + a + (o.disabled ? " disabled" : "") + (o.autofocus ? ' autofocus class="ui-dialog-autofocus"' : "") + ">" + o.value + "</button>", n._$("button").on("click", '[i-id="' + s + '"]', function (e) {
                                    t(this).attr("disabled") || n._trigger(s), e.preventDefault()
                                })
                            }), this._$("button").html(i), this._$("footer")[r ? "show" : "hide"](), this
                        }, statusbar: function (e) {
                            return this._$("statusbar").html(e)[e ? "show" : "hide"](), this
                        }, _$: function (e) {
                            return this._popup.find("[i=" + e + "]")
                        }, _trigger: function (e) {
                            var t = this.callbacks[e];
                            return "function" != typeof t || !1 !== t.call(this) ? this.close().remove() : this
                        }
                    }), d.oncreate = t.noop, d.getCurrent = function () {
                        return n.current
                    }, d.get = function (e) {
                        return void 0 === e ? d.list : d.list[e]
                    }, d.list = {}, d.defaults = i, d
                }), window.dialog = t("dialog")
        }()
    }).call(t, n(0))
}, , function (e, t, n) {
    (function (t) {
        var i = n(2);
        n(41);
        var r = n(33)("./" + getCookie("lang") + "/common.json");
        e.exports = function () {
            var e = document.cookie.match(/access_token=([^;]*)/);
            t.ajaxSetup({
                method: "POST",
                headers: {
                    Authorization: e ? "Bearer " + e[1] : null,
                    "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
                    "Accept-Language": getCookie("lang")
                },
                beforeSend: function () {
                    this.url = this.url.replace("advertisement", "contentslist").replace("advertiser", "contenter"), this.data ? (this.data = i.parse(this.data), this.data._csrf = t("input[name=_csrf]").val(), this.data = i.stringify(this.data)) : (this.data = {}, this.data._csrf = t("input[name=_csrf]").val(), this.data = i.stringify(this.data))
                },
                complete: function (e, i) {
                    var o = JSON.parse(e.responseText);
                    switch (o.code) {
                        case 0:
                            this.finish && this.finish(o);
                            break;
                        case 2:
                            if (this.errorCode2) this.errorCode2(o); else for (var s in o.data) {
                                "phone_number" === s ? (tipsDialog(r.tips_error_phone_number), this.errorPhoneNumber && this.errorPhoneNumber(o)) : tipsDialog("输入内容有误 " + o.data[s][0]);
                                break
                            }
                            break;
                        case 3:
                            tipsDialog(r.tips_error_only_invite);
                            break;
                        case 6:
                            tipsDialog(r.tips_error_6, [{
                                value: r.label_cancel_value, callback: function () {
                                    this.remove()
                                }
                            }, {
                                value: r.tips_error_6_btn, callback: function () {
                                    location.href = "/notice/1000001"
                                }
                            }]);
                            break;
                        case 1001:
                            tipsDialog(r.tips_error_username_has_use);
                            break;
                        case 1002:
                            tipsDialog(r.tips_error_email_exist);
                            break;
                        case 1003:
                            tipsDialog(r.tips_error_phone_exist);
                            break;
                        case 1004:
                            tipsDialog(r.tips_error_login);
                            break;
                        case 1005:
                            delCookie("username"), delCookie("access_token"), delCookie("account_available"), delCookie("account_locked"), tipsDialog(r.tips_relogin, [{
                                value: r.label_btn_tologin,
                                callback: function () {
                                    location.href = "/login/phone?backto=" + location.href
                                }
                            }]);
                            break;
                        case 1006:
                            tipsDialog(r.tips_error_no_admin);
                            break;
                        case 1007:
                            tipsDialog(r.tips_error_username_exist);
                            break;
                        case 1008:
                            tipsDialog(r.tips_error_one_time_code);
                            break;
                        case 1009:
                            tipsDialog(r.tips_error_have_checkedid);
                            break;
                        case 1010:
                            tipsDialog(r.tips_error_have_set_password);
                            break;
                        case 1011:
                            tipsDialog(r.tips_error_have_bind_mail);
                            break;
                        case 1012:
                            tipsDialog(r.tips_error_phone_have_bind);
                            break;
                        case 1013:
                            var a = "ONLINE_SELL" === t("body").attr("adType") ? r.tips_low_btc_buyer : r.tips_low_btc_seller;
                            tipsDialog(a, [{value: r.label_btn_tocharge}]);
                            break;
                        case 1014:
                            tipsDialog(r.tips_mail_not_the_same);
                            break;
                        case 1015:
                            tipsDialog(r.tips_phone_not_the_same);
                            break;
                        case 1016:
                            tipsDialog(r.tips_password_not_set);
                            break;
                        case 1017:
                            tipsDialog(r.tips_error_not_bind_mail);
                            break;
                        case 1018:
                            tipsDialog(r.tips_error_not_bind_phone);
                            break;
                        case 1023:
                        case 1024:
                            tipsDialog(r.tips_error_id_check);
                            break;
                        case 1025:
                            tipsDialog(r.tips_error_1025 + o.data.dust);
                            break;
                        case 1026:
                            tipsDialog(r.tips_error_max_address);
                            break;
                        case 1027:
                            tipsDialog(r.tips_error_1027);
                            break;
                        case 3001:
                            tipsDialog(r.tips_error_ad_not_exist), this.postFailed && this.postFailed(o);
                            break;
                        case 3002:
                            tipsDialog(r.tips_error_ad_not_open);
                            break;
                        case 3003:
                            tipsDialog(r.tips_error_ad_price_change);
                            break;
                        case 3004:
                            tipsDialog(r.tips_error_not_support_curreny);
                            break;
                        case 3005:
                            tipsDialog(r.tips_error_amount_not_match);
                            break;
                        case 3006:
                            tipsDialog(r.tips_error_ad_too_many), this.postFailed && this.postFailed(o);
                            break;
                        case 3007:
                            tipsDialog(r.tips_error_ad_disable);
                            break;
                        case 4001:
                            tipsDialog(r.tips_error_trade_not_exist);
                            break;
                        case 4002:
                            tipsDialog(r.tips_error_trade_not_allow_this_set);
                            break;
                        case 4003:
                            tipsDialog(r.tips_error_trade_expire);
                            break;
                        case 4004:
                            tipsDialog(r.tips_trade_have_exist, [{
                                value: r.label_btn_to_go, callback: function () {
                                    location.href = "/order-list/processing"
                                }
                            }]);
                            break;
                        case 4005:
                            tipsDialog(r.tips_error_only_ader_trust);
                            break;
                        case 4008:
                            tipsDialog(r.tips_error_1027);
                            break;
                        case 4009:
                        case 4010:
                        case 4011:
                            tipsDialog(o.message);
                            break;
                        case 6001:
                            tipsDialog(r.label_error_6001);
                            break;
                        case 6002:
                            tipsDialog(r.label_error_6002);
                            break;
                        case 6003:
                            tipsDialog(r.label_error_6003);
                            break;
                        case 6004:
                            tipsDialog(r.label_error_6004);
                            break;
                        case 6005:
                            tipsDialog(r.label_error_6005);
                            break;
                        case 1029:
                            tipsDialog(r.label_error_1029);
                            break;
                        case 1028:
                            if (0 === t(".dialog-msg .gg-code-input").length) {
                                tipsDialog(r.label_error_1028);
                                break
                            }
                            var l = !0;
                        case 1030:
                            var c = this,
                                u = t("<div class='dialog-msg ta-c'><div style='margin-bottom: 20px;'>" + (l ? r.label_error_1028 : r.label_google_auth_code_is_required) + "</div><span class='gg-code-input'><input type='text' class='gg-input'><input type='text' class='gg-input'><input type='text' class='gg-input'><input type='text' class='gg-input'><input type='text' class='gg-input'><input type='text' class='gg-input'></span></div>");
                            t(".dialog-msg").remove();
                            var d = dialog({
                                content: u, button: [{
                                    value: r.label_cancel_value, callback: function () {
                                        this.remove()
                                    }
                                }]
                            }).showModal();
                            t(t(".dialog-msg .gg-code-input input")[0]).focus(), n(31)(t(".dialog-msg .gg-code-input"), {
                                finished: function (e) {
                                    d.remove(), t.ajax({
                                        url: c.url,
                                        data: c.data,
                                        headers: {"x-Totp-Password": e},
                                        finish: function (e) {
                                            c.finish(e)
                                        }
                                    })
                                }
                            })
                    }
                }
            })
        }()
    }).call(t, n(0))
}, function (e, t, n) {
    (function (e) {
        n(41);
        var t = (n(2), n(16)), i = /lang=[a-z]+-[a-z]+/gi.exec(document.cookie)[0];
        if (e(".btn-select-lang").text(e("[" + i + "]").text()), e(".lang-cont").bind("click", function (t) {
                var n = e(t.target).attr("lang");
                n && (document.cookie = "lang=" + n, location.reload())
            }), e(".header .opt").bind("click", function (t) {
                e(".header .nav").toggleClass("auto")
            }), getCookie("access_token")) {
            var r = getCookie("username");
            e(".header .my-panel .username").text(r), e(".header .my-panel").show()
        } else e(".header .login-panel").show();
        e(".refresh-wallet").click(function (t) {
            e.ajax({
                url: "/api/user/profile", finish: function (t) {
                    setCookie("account_available", t.data.user.account.available), setCookie("account_locked", t.data.user.account.locked), e(".account_available span").text(t.data.user.account.available.toFixed(4)), e(".account_locked span").text(t.data.user.account.locked.toFixed(4)), e(".account_total span").text((t.data.user.account.available + t.data.user.account.locked).toFixed(4))
                }
            })
        }), window.setFooter = function () {
            e(".footer").hide(), window.innerHeight && document.body.clientHeight < window.innerHeight - 114 ? e(".footer").removeClass("mt-30").addClass("fix").show() : e(".footer").removeClass("fix").addClass("mt-30").show()
        }, window.setFooter(), e(window).resize(function (e) {
            window.setFooter()
        }), e("#logout").click(function (t) {
            e.ajax({
                url: location.origin + "/api/user/logout", success: function (e) {
                    window.delCookie("username"), window.delCookie("access_token"), localStorage.clear(), delCookie("access_token"), delCookie("account_available"), delCookie("account_locked"), delCookie("username"), window.location = "/", zE && zE.logout()
                }
            })
        }), e(document).ready(function (n) {
            var i = location.pathname.replace("/zh-CN", "").replace("/en-US", "");
            i = "/" === i ? "index" : i.match(/^\/([^\/]+)/)[1];
            var r = {
                login: !0,
                signup: !0,
                message: !0,
                "ad-detail": !0,
                order: !0,
                "find-password": !0,
                "order-list": !0
            };
            window.RongIMClient && getCookie("access_token") && !r[i] && (getUnreadMsg(), window.im = new t, im.init(function (t) {
                t.content.extra.sender_name !== getCookie("username") && (setUnreadMsg({
                    chatType: t.content.extra.type,
                    fellowName: t.content.extra.sender_name
                }, t.content.extra.chat_id), e(".message-count").show())
            }));
            var o = {
                advertiser_fee: "0.7%",
                min_recharge: "0.0002 BTC",
                min_balance_to_show_ad: "0.05 BTC",
                block_chain_fee: "0.0009 BTC"
            };
            for (var s in o)e("." + s).text(o[s]);
            e(".float-cont").bind("click", function (e) {
                zE.activate()
            })
        }), function (t) {
            !getCookie("account_available") && getCookie("username") ? e.ajax({
                url: "/api/user/profile",
                finish: function (e) {
                    setCookie("account_available", e.data.user.account.available), setCookie("account_locked", e.data.user.account.locked), t()
                }
            }) : t()
        }(function () {
            e(".account_available span").text(parseFloat(getCookie("account_available")).toFixed(4)), e(".account_locked span").text(parseFloat(getCookie("account_locked")).toFixed(4)), e(".account_total span").text((parseFloat(getCookie("account_available")) + parseFloat(getCookie("account_locked"))).toFixed(4))
        })
    }).call(t, n(0))
}, , function (e, t, n) {
    "use strict";
    function i(e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }

    e.exports = function (e, t, n, o) {
        t = t || "&", n = n || "=";
        var s = {};
        if ("string" != typeof e || 0 === e.length)return s;
        var a = /\+/g;
        e = e.split(t);
        var l = 1e3;
        o && "number" == typeof o.maxKeys && (l = o.maxKeys);
        var c = e.length;
        l > 0 && c > l && (c = l);
        for (var u = 0; u < c; ++u) {
            var d, h, p, f, _ = e[u].replace(a, "%20"), g = _.indexOf(n);
            g >= 0 ? (d = _.substr(0, g), h = _.substr(g + 1)) : (d = _, h = ""), p = decodeURIComponent(d), f = decodeURIComponent(h), i(s, p) ? r(s[p]) ? s[p].push(f) : s[p] = [s[p], f] : s[p] = f
        }
        return s
    };
    var r = Array.isArray || function (e) {
            return "[object Array]" === Object.prototype.toString.call(e)
        }
}, function (e, t, n) {
    "use strict";
    function i(e, t) {
        if (e.map)return e.map(t);
        for (var n = [], i = 0; i < e.length; i++)n.push(t(e[i], i));
        return n
    }

    var r = function (e) {
        switch (typeof e) {
            case"string":
                return e;
            case"boolean":
                return e ? "true" : "false";
            case"number":
                return isFinite(e) ? e : "";
            default:
                return ""
        }
    };
    e.exports = function (e, t, n, a) {
        return t = t || "&", n = n || "=", null === e && (e = void 0), "object" == typeof e ? i(s(e), function (s) {
            var a = encodeURIComponent(r(s)) + n;
            return o(e[s]) ? i(e[s], function (e) {
                return a + encodeURIComponent(r(e))
            }).join(t) : a + encodeURIComponent(r(e[s]))
        }).join(t) : a ? encodeURIComponent(r(a)) + n + encodeURIComponent(r(e)) : ""
    };
    var o = Array.isArray || function (e) {
            return "[object Array]" === Object.prototype.toString.call(e)
        }, s = Object.keys || function (e) {
            var t = [];
            for (var n in e)Object.prototype.hasOwnProperty.call(e, n) && t.push(n);
            return t
        }
}, , , , function (e, t) {
    e.exports = {
        title: "Coincola.com",
        contents: "contents",
        placeholder: "Please comment here",
        setting: "Setting",
        logout: "Log out",
        homepage: "Home",
        buy_btc: "Buy",
        sale_btc: "Sell",
        new_ad: "Advertise",
        help: "FAQ",
        label_about: "ABOUT",
        label_fee: "FEE",
        label_faq: "FAQ",
        price_limit: "Limits",
        more: "MORE",
        order_manage: "Manage",
        label_order: "Order",
        signup: "Register",
        login: "Log in",
        message: "Message",
        view_all: "ALL",
        BTC_available: "Avaliable balance",
        BTC_lock: "Locked",
        BTC_total: "Total balance",
        deposit: "Withdraw",
        charge: "Deposit",
        user_center: "User center",
        my_order: "My trades",
        my_ad: "My advertisement",
        label_invite_friend: "Refer",
        BTC: "BTC",
        label_ok_value: "OK",
        label_cancel_value: "Cancel",
        wallet: "Wallet",
        label_refresh: "Refresh",
        tips_relogin: "Your login is no longer valid. Please sign in again",
        label_btn_tologin: "To Login",
        tips_new_message: " new Message",
        tips_error_username_has_use: "This name is already registered",
        tips_error_email_exist: "this email address has already registered ",
        tips_error_phone_exist: "this phone number has already registered ",
        tips_error_login: "Incorrect user name or password",
        tips_error_no_admin: "You can't try this",
        tips_error_username_exist: "Unregistered or nonexistent user",
        tips_error_one_time_code: "Incorrect code",
        tips_error_have_checkedid: "You are verified",
        tips_error_have_set_password: "You have set the password",
        tips_error_have_bind_mail: "You have already bounded to an email address",
        tips_error_phone_have_bind: "You have already binded to a phone number",
        label_btn_tocharge: "Got it",
        tips_mail_not_the_same: "The email is not consistent with your bounded email",
        tips_phone_not_the_same: "The phone number is not consistent with your bounded phone number",
        tips_password_not_set: "You have not set password",
        tips_error_not_bind_mail: "You have not bound email",
        tips_error_not_bind_phone: "You have not bound to a phone number",
        tips_error_ad_not_exist: "The entered advertisement does not exist",
        tips_error_ad_not_open: "The advertisement is hidden by the seller",
        tips_error_ad_price_change: "The advertisement's price has changed",
        tips_error_not_support_curreny: "Unsupported Currency",
        tips_error_amount_not_match: "The amount has excceded the limit",
        tips_error_ad_too_many: "You can publish at most 2 advertisements with the same type, country and currency. Try editing the published advertisements if needed.",
        tips_error_ad_disable: "This advertisement is disabled",
        tips_error_trade_not_exist: "The trade does not exist",
        tips_error_trade_not_allow_this_set: "Operation not allowed for this trade",
        tips_error_trade_expire: "Expired trade",
        tips_trade_have_exist: "You have an ongoing trade, please finish it.",
        label_btn_to_go: "Go to",
        tips_error_id_check: "unsuccessful verification",
        tips_error_only_invite: "We are now open for invited user only",
        tips_error_only_ader_trust: "This advertisment only trade with the trusteds users",
        tips_low_btc_buyer: "Opps! Seems like the advertiser has insufficient Bitcoin balance, please contact the advertiser for more detail.",
        tips_low_btc_seller: "You have inssuficcient balance.",
        tips_error_max_address: "you can add up to 20 new addresses",
        language_list: {"en-US": "English", "zh-CN": "简体中文", "zh-HK": "繁體中文"},
        label_new_message_send_you: " send you a",
        label_new_message_buy: "",
        label_new_message_sell: "",
        label_new_message: " message",
        tips_error_phone_number: "Please enter a valid phone number",
        label_message_unreade: "message have not read",
        label_card_center: "Reward center",
        label_error_6001: "Scratch card not exist",
        label_error_6002: "Scratch card no activate yet",
        label_error_6003: "Scratch card already opened ",
        label_error_6004: "Scratch card exipred",
        label_error_6005: "Scratch card reach max limit for today",
        tips_error_1025: "The minimum amount of money transferred is ",
        tips_error_1027: "Sorry, this advertisement is only for first time trading users. Please try others.",
        tips_error_6: "The Bitcoin network is splitting. CoinCola have been suspending bitcoin deposits and withdrawals to ensure your property safety. Get more details from the official statement.",
        tips_error_6_btn: "Go to the statement",
        label_error_1029: "Google Authentication is bound without having to bind again.",
        label_error_1028: "Google Authentication code is incorrect or has expired, please re-enter",
        label_google_auth_code_is_required: "You have already opened Google Verification. Please enter your Google Verification Code",
        contact_server: "HELP"
    }
}, function (e, t) {
    e.exports = {
        title: "Refer friends",
        label_invited: "Referred",
        label_invited_get_btc: "Commissions",
        label_lucky_card_count: "Scratchcards",
        label_unit_man: "",
        label_unit_lucky_card: "",
        label_invite_by_pic: "QR Code Referral",
        label_invite_by_text: "Link Referral",
        label_coincola_lucky_card: "Scratchcard",
        label_get_lucky_card_after_trade: "Reveal it after trading completed",
        label_lucky_card_exprie: "Duration",
        label_trade_now: "Trade now",
        label_lucky_card_most_bouns: "Earn up to <span class='red'>1</span><span class='unit'>BTC</span>",
        label_btn_use_lucky_card: "Open",
        label_get_x_btc_1: "Got ",
        label_use_lucky_card_tips: "Earn extra rewards by referring friends",
        label_use_lucky_card_no_btc: "Opps, no bonus",
        label_lucky_card_expried: "Expired",
        label_more_lucky_card: "How can I earn scratch cards?",
        label_invite_tips_1: "Login to your CoinCola account.",
        label_invite_tips_2: "Share CoinCola with your friends (QR code or link above).",
        label_invite_tips_3: 'Every user that registers via the QR code or the link will be attributed to your CoinCola account as a "referred friend". All your "referred friends" are linked to your account.',
        label_invite_tips_4: "Your CoinCola wallet will be credited by up to 60% of the trading fee from your referred friends' every successful trade. (Only those who published advertisements will be charged the trading fee.)",
        label_invite_tips_5: "The payouts will be paid once the trade is complete.",
        label_invite_tips_6: "A user can only be as referred friend once.",
        label_invite_tips_7: "CoinCola reserves the right to investigate any suspicious or inappropriate activity related to the Referral Program.",
        label_card_tips_1: "Login to your CoinCola app.",
        label_card_tips_2: "Share CoinCola with your friends (QR code or link above). Please keep in mind that the scratch cards are exclusive to the CoinCola app. You must share CoinCola via the CoinCola app to claim your scratch cards.",
        label_card_tips_3: "The payouts will be paid to your CoinCola wallet once you finished a new trade and scratch your scratch card.",
        label_card_tips_4: "You can earn a maximum of 3 scratch cards everyday day.",
        label_card_tips_5: "CoinCola reserves the right to investigate any suspicious or inappropriate activity related to the Referral Program.",
        label_right_click_to_save_pic: "Click to save the image",
        label_invite_by_text_tips: "Share the link with your friends, in order to get commissions",
        label_invite_by_text_context: "CoinCola, A safe and reliable bitcoin OTC platform. ",
        title_card_center: "Reward center",
        label_no_lucky_card: "No scratchcards",
        label_get_u_a_lucky_card: "Here is a scratchcard, happy trading",
        label_get_u_a_lucky_card_2: "Here is a <span style='color: #ffef1e;'>scratchcard</span>, good luck and have fun",
        label_welcome_to_coincola: "Welcome to CoinCola",
        label_send_u_a_gift: "Here is a gift, open it",
        label_new_user_gift: "Gift for newbies",
        label_cont_title_card_center: "REWARD CENTER",
        label_cont_title_activity_rules: "ACTIVITY RULES",
        label_cont_lucky_card: "SCRATCHCARD"
    }
}, function (e, t) {
    e.exports = {
        title: "Message",
        label_message_my: "Message",
        label_message_sell: "Sell message",
        label_message_buy: "Buy message",
        label_message_system: "System message",
        label_message_kf: "Customer service message",
        label_send_palceholder: "Say something...",
        label_send: "Say something...",
        label_system_message: "[System]",
        label_img_message: "[Image]",
        label_no_message: "[No message]",
        label_quantity: "Trading amount",
        label_price: "Price",
        label_margin: "Margin",
        label_fee: "Fee",
        system_message_text: {
            PLACED_ORDER: {
                title: "The trade has been created",
                text: "The trade has been created, waiting for buyer to pay"
            },
            BUYER_PAID: {
                title: "Buyer has paid",
                text: "Buyer has paid, please seller make sure that have received the money and release the bitcoin to buyer."
            },
            SELLER_CONFIRMED: {
                title: "Seller has released the bitcoin",
                text: "Seller has released the bitcoin, Please comment on each other."
            },
            BUYER_COMMENTED: {
                title: "Buyer has posted a comment",
                text: "Buyer has posted a comment, please comment each other."
            },
            SELLER_COMMENTED: {
                title: "Seller has posted a comment",
                text: "Seller has posted a comment, please comment each other."
            },
            FINISHED: {title: "Transaction completed", text: "Two sides have commented, the trade has finished"},
            CLOSED: {title: "The trade has been canncelled", text: "The trade has been canncelled by buyer"},
            EXPIRED: {
                title: "The trade has expired",
                text: "Buyer has not paid within the required time, the trade has expired"
            },
            PAID_CLOSED: {title: "The trade has been canncelled", text: "Buyer has paid, but canncelled the trade"},
            EXPIRATION_WARNING: {
                title: "Expiration warning",
                text: "Buyer has not confirm the payment of this trade, please confirm it as soon as possible, or this trade will be canncelled automatically "
            },
            IDLE_SELLER_COMPLAINING: {
                title: "Buyer is complaining",
                text: "Buyer is complaining that buyer has paid but seller has not release the bitcoin"
            },
            IDLE_BUYER_COMPLAINING: {
                title: "Seller is complaining",
                text: "Seller is complaining, the trade has been created, but buyer has not paid all the time"
            },
            NOT_PAID_COMPLAINING: {
                title: "Seller is complaining",
                text: "Seller is complaining, buyer has marked payment completed, but seller has not received the money"
            },
            ARBITRATION_CLOSED: {
                title: "Trade arbitration",
                text: "Buyer has not paid, the bitcoin have unlocked, seller can posts a comment"
            },
            ARBITRATION_CONFIRMED: {
                title: "Trade arbitration",
                text: "Seller has paid, the bitcoin have released, buyer can posts a comment"
            }
        },
        label_btn_remind: "Remind",
        label_btn_pay: "Mark as payment completed",
        label_btn_comment: "Comment",
        label_btn_release: "Release bitcoin",
        label_btn_get_money: "Release bitcoin",
        label_input_no_empty: "You can not send the empty content",
        payment_provider: {
            CASH_DEPOSIT: "Cash deposit",
            NATIONAL_BANK: "Bank transfer",
            ALIPAY: "Alipay",
            WECHAT_PAY: "WeChat Pay",
            ITUNES_GIFT_CARD: "iTunes Gift Card",
            PAYTM: "Paytm",
            OTHER: "Other"
        },
        label_trade_amount: "Amount",
        tips_release_success: "Bithcoin released Successfully!",
        label_message_unreade: "message have not read",
        tips_cotact_fellow: "Contact partner",
        label_i_am_selling: "SELLING",
        label_i_am_buying: "BUYING",
        label_amount_limmit: "Limits",
        label_message_all: "All message"
    }
}, , , , , , , , , , function (e, t) {
    e.exports = {
        title: "Coincola.com",
        contents: "内容",
        placeholder: "请输入一些文字",
        setting: "设置",
        logout: "退出",
        homepage: "首页",
        buy_btc: "购买比特币",
        sale_btc: "出售比特币",
        new_ad: "发布广告",
        help: "帮助",
        label_about: "关于我们",
        label_fee: "费率说明",
        label_faq: "常见问题",
        price_limit: "限额",
        more: "更多",
        order_manage: "订单管理",
        label_order: "订单",
        signup: "注册",
        login: "登录",
        message: "消息",
        view_all: "查看全部",
        BTC_available: "可用资产",
        BTC_lock: "冻结资产",
        BTC_total: "总资产",
        deposit: "提现",
        charge: "充值",
        user_center: "用户中心",
        my_order: "我的交易",
        my_ad: "我的广告",
        label_invite_friend: "邀请好友",
        BTC: "比特币",
        label_ok_value: "确定",
        label_cancel_value: "取消",
        wallet: "钱包",
        label_refresh: "刷新",
        tips_relogin: "您的登录已失效，请重新登录",
        label_btn_tologin: "前往登录",
        tips_new_message: " 给您发来一条消息",
        tips_error_username_has_use: "用户名已注册",
        tips_error_email_exist: "邮箱已注册",
        tips_error_phone_exist: "手机已注册",
        tips_error_login: "账户或密码错误",
        tips_error_no_admin: "您没有此操作权限",
        tips_error_username_exist: "用户未注册或不存在",
        tips_error_one_time_code: "校验码错误",
        tips_error_have_checkedid: "已实名认证",
        tips_error_have_set_password: "已设置密码",
        tips_error_have_bind_mail: "用户已绑定邮箱",
        tips_error_phone_have_bind: "用户已绑定手机",
        tips_low_btc_buyer: "无法下单可能是广告主可用比特币余额不足，请联系对方沟通更多交易细节",
        tips_low_btc_seller: "您的账户比特币余额不足，请先充值比特币，再进行出售",
        label_btn_tocharge: "我知道了",
        tips_mail_not_the_same: "邮箱与用户已绑定邮箱不一致",
        tips_phone_not_the_same: "手机与用户已绑定手机不一致",
        tips_password_not_set: "未设置密码",
        tips_error_not_bind_mail: "未绑定邮箱",
        tips_error_not_bind_phone: "未绑定手机",
        tips_error_ad_not_exist: "广告不存在",
        tips_error_ad_not_open: "广告不在开放时间",
        tips_error_ad_price_change: "广告报价已产生变化",
        tips_error_not_support_curreny: "不支持该货币类型",
        tips_error_amount_not_match: "交易金额超出范围",
        tips_error_ad_too_many: "同个类型同个国家同种货币只允许发布两个广告，请在已发布的广告中进行更新调整",
        tips_error_ad_disable: "广告被禁用",
        tips_error_trade_not_exist: "交易不存在",
        tips_error_trade_not_allow_this_set: "交易不允许执行当前操作",
        tips_error_trade_expire: "交易已过期",
        tips_trade_have_exist: "你已存在一单购买比特币交易，请处理完后再次购买",
        label_btn_to_go: "前往",
        tips_error_id_check: "实名认证失败",
        tips_error_only_invite: "目前仅限受邀请用户注册，谢谢合作！",
        tips_error_only_ader_trust: "该广告仅限于广告主信任的用户才能下单",
        tips_error_max_address: "最多只能新增20个地址",
        language_list: {"en-US": "English", "zh-CN": "简体中文", "zh-HK": "繁體中文"},
        label_new_message_send_you: "给您发来",
        label_new_message_buy: "购买",
        label_new_message_sell: "出售",
        label_new_message: "交易消息",
        tips_error_phone_number: "请输入正确的手机号码",
        label_message_unreade: "条未读消息",
        label_card_center: "礼品中心",
        label_error_6001: "刮刮卡不存在",
        label_error_6002: "刮刮卡未激活",
        label_error_6003: "刮刮卡已刮开",
        label_error_6004: "刮刮卡已过期",
        label_error_6005: "刮刮卡领取数量限制",
        tips_error_1025: "转出的比特币数量最低为",
        tips_error_1027: "亲，仅限新用户首次交易哦，继续找其它广告看看吧！",
        tips_error_6: "目前比特币区块正在进行分叉，为保证您的资金安全，钱包服务已暂停。详情了解CoinCola官方公告",
        tips_error_6_btn: "查看公告",
        label_error_1029: "谷歌验证已绑定，无需再次绑定。",
        label_error_1028: "谷歌验证码不正确或者已过期，请重新输入",
        label_google_auth_code_is_required: "您已开启谷歌验证，请输入谷歌验证码",
        contact_server: "需要帮助"
    }
}, function (e, t) {
    e.exports = {
        title: "邀请好友加入 CoinCola",
        label_invited: "成功邀请",
        label_invited_get_btc: "提成收益",
        label_lucky_card_count: "获得礼券",
        label_unit_man: "人",
        label_unit_lucky_card: "张",
        label_invite_by_pic: "图片邀请",
        label_invite_by_text: "文字邀请",
        label_coincola_lucky_card: "可盈可乐刮刮卡",
        label_get_lucky_card_after_trade: "完成一笔交易可刮开",
        label_lucky_card_exprie: "有效期",
        label_trade_now: "立即交易",
        label_lucky_card_most_bouns: "最高可得<span class='red'>1</span><span class='unit'>BTC</span>",
        label_btn_use_lucky_card: "点我刮奖",
        label_get_x_btc_1: "获得",
        label_use_lucky_card_tips: "手气不错，邀请好友一起赢大奖吧",
        label_use_lucky_card_no_btc: "很遗憾，未中奖",
        label_lucky_card_expried: "已过期",
        label_more_lucky_card: "如何获得更多刮刮卡？",
        label_invite_tips_1: "登陆可盈可乐，在“我的”→“邀请好友”可以分享图片或者链接到朋友圈或者微信好友；",
        label_invite_tips_2: "好友成功通过您邀请链接注册并成功交易您可以获得比特币奖金，金额为交易额0.1%；",
        label_invite_tips_3: "奖金以比特币形式，在当笔交易完成之后即刻发送到您的CoinCola钱包中；",
        label_invite_tips_4: "同一用户仅能被邀请一次；",
        label_invite_tips_5: "CoinCola保留对活动的解释权。",
        label_invite_tips_eg: "举例：当您带来一个在CoinCola.com注册的用户，如果他成功交易一笔100 BTC 的交易，您可以从这个交易者的交易费中赚取0.1%，您挣得的总数是0.1 BTC。",
        label_card_tips_1: "登陆可盈可乐，在“我的”→“邀请好友”可以分享图片或者链接到朋友圈或者微信好友，即可获得刮刮卡。",
        label_card_tips_2: "目前刮刮卡获得的途径只能通过手机端分享，电脑端暂不支持。",
        label_card_tips_3: "得到刮刮卡后，下笔交易完成即可刮开刮刮卡，刮得的比特币将直接进入您的可盈可乐钱包。",
        label_card_tips_4: "您通过分享每天可以获得多至3张刮刮卡。",
        label_card_tips_5: "可盈可乐保留本活动的最终解释权。",
        label_card_tips_6: "举例：如果您将图片或者邀请链接发到朋友圈或者微信好友、微信群，即可获得刮刮卡一张，下次交易结束即可刮开刮刮卡，挂到的比特币将直接打到您的可盈可乐钱包。",
        label_right_click_to_save_pic: "点击保存图片",
        label_invite_by_text_tips: "复制下面这段文字给好友，好友通过你的专属链接注册成功，你就可以享受好友的交易提成了",
        label_invite_by_text_context: "CoinCola安全可信赖的香港比特币场外交易平台，百万比特币红包赶紧来注册领取吧！",
        title_card_center: "礼品中心",
        label_no_lucky_card: "暂时没有刮刮卡",
        label_get_u_a_lucky_card: "送一你张刮刮卡，可盈又可乐",
        label_get_u_a_lucky_card_2: "送你一张<span style='color: #ffef1e;'>刮刮卡</span>，好运连连来",
        label_welcome_to_coincola: "欢迎加入 CoinCola 大家庭",
        label_send_u_a_gift: "送你一份礼物，赶快领取吧!",
        label_new_user_gift: "新手壕福利",
        label_cont_title_card_center: "红包礼券",
        label_cont_title_activity_rules: "活动规则",
        label_cont_lucky_card: "可乐刮刮卡"
    }
}, function (e, t) {
    e.exports = {
        title: "消息",
        label_message_my: "我的消息",
        label_message_all: "所有消息",
        label_message_sell: "卖币消息",
        label_message_buy: "买币消息",
        label_message_system: "系统消息",
        label_message_kf: "客服消息",
        label_send_palceholder: "说点什么吧...",
        label_send: "发送",
        label_system_message: "[系统消息]",
        label_img_message: "[图片]",
        label_no_message: "[暂无消息]",
        label_quantity: "交易量",
        label_price: "价格",
        label_margin: "溢价",
        label_fee: "手续费",
        system_message_text: {
            PLACED_ORDER: {title: "买家拍下未付款", text: "买家已拍下，等待买家付款"},
            BUYER_PAID: {title: "买家标记已付款", text: "买家标记已付款，等待卖家确认收款后释放比特币"},
            SELLER_CONFIRMED: {title: "卖家已释放比特币", text: "已释放比特币, 等待交易双方的评价"},
            BUYER_COMMENTED: {title: "买家已评论", text: "买家已评论，等待交易双方的评价"},
            SELLER_COMMENTED: {title: "卖家已评价", text: "卖家已评价，等待交易双方的评价"},
            FINISHED: {title: "交易完成", text: "双方评论成功，交易已完成"},
            CLOSED: {title: "交易关闭", text: "买家关闭了交易"},
            EXPIRED: {title: "交易已过期", text: "买家超过在规定时间内付款，交易已过期"},
            PAID_CLOSED: {title: "交易已关闭", text: "买家已付款，但是买家关闭交易"},
            EXPIRATION_WARNING: {title: "超时提醒", text: "买家尚未确认此交易的付款，请尽快操作，否则超时将自动取消"},
            IDLE_SELLER_COMPLAINING: {title: "买家申诉", text: "买家已付款，但卖家未释放比特币"},
            IDLE_BUYER_COMPLAINING: {title: "卖家申诉", text: "买家下单后未标记已付款"},
            NOT_PAID_COMPLAINING: {title: "卖家申诉", text: "买家标记已付款，但卖家未收到款项"},
            ARBITRATION_CLOSED: {title: "交易仲裁", text: "买家未付款，已解冻比特币。仅卖家可进行交易评价"},
            ARBITRATION_CONFIRMED: {title: "交易仲裁", text: "买家已付款，已释放比特币。仅买家可进行交易评价"}
        },
        label_btn_remind: "提醒对方",
        label_btn_pay: "标记付款",
        label_btn_comment: "评论对方",
        label_btn_release: "释放比特币",
        label_btn_get_money: "释放比特币",
        label_input_no_empty: "发送内容不可为空",
        payment_provider: {
            CASH_DEPOSIT: "现金存款",
            NATIONAL_BANK: "银行转账",
            ALIPAY: "支付宝",
            WECHAT_PAY: "微信支付",
            ITUNES_GIFT_CARD: "iTunes礼品卡",
            PAYTM: "Paytm",
            OTHER: "其它支付方式"
        },
        label_trade_amount: "交易金额",
        tips_release_success: "释放比特币成功",
        label_message_unreade: "条未读消息",
        tips_cotact_fellow: "联系对方",
        label_i_am_selling: "我在出售比特币",
        label_i_am_buying: "我在购买比特币",
        label_amount_limmit: "交易限额"
    }
}, , , , , , , , , , function (e, t) {
    e.exports = {
        title: "Coincola.com",
        contents: "內容",
        placeholder: "請輸入一些文字",
        setting: "設置",
        logout: "退出",
        homepage: "首頁",
        buy_btc: "購買比特幣",
        sale_btc: "出售比特幣",
        new_ad: "發布廣告",
        help: "幫助",
        label_about: "關於我們",
        label_fee: "費率說明",
        label_faq: "常見問題",
        price_limit: "限額",
        more: "更多",
        order_manage: "訂單管理",
        label_order: "訂單",
        signup: "註冊",
        login: "登錄",
        message: "消息",
        view_all: "查看全部",
        BTC_available: "可用資產",
        BTC_lock: "凍結資產",
        BTC_total: "總資產",
        deposit: "提現",
        charge: "充值",
        user_center: "用戶中心",
        my_order: "我的交易",
        my_ad: "我的廣告",
        label_invite_friend: "邀請好友",
        BTC: "比特幣",
        label_ok_value: "確定",
        label_cancel_value: "取消",
        wallet: "錢包",
        label_refresh: "刷新",
        tips_relogin: "您的登錄已失效，請重新登錄",
        label_btn_tologin: "前往登錄",
        tips_new_message: " 給您發來一條消息",
        tips_error_username_has_use: "用戶名已註冊",
        tips_error_email_exist: "郵箱已註冊",
        tips_error_phone_exist: "手機已註冊",
        tips_error_login: "賬戶或密碼錯誤",
        tips_error_no_admin: "您沒有此操作權限",
        tips_error_username_exist: "用戶未註冊或不存在",
        tips_error_one_time_code: "校驗碼錯誤",
        tips_error_have_checkedid: "已實名認證",
        tips_error_have_set_password: "已設置密碼",
        tips_error_have_bind_mail: "用戶已綁定郵箱",
        tips_error_phone_have_bind: "用戶已綁定手機",
        tips_low_btc_buyer: "無法下單可能是廣告主可用比特幣餘額不足，請聯繫對方溝通更多交易細節",
        tips_low_btc_seller: "您的賬戶比特幣餘額不足，請先充值比特幣，再進行出售",
        label_btn_tocharge: "我知道了",
        tips_mail_not_the_same: "郵箱與用戶已綁定郵箱不一致",
        tips_phone_not_the_same: "手機與用戶已綁定手機不一致",
        tips_password_not_set: "未設置密碼",
        tips_error_not_bind_mail: "未綁定郵箱",
        tips_error_not_bind_phone: "未綁定手機",
        tips_error_ad_not_exist: "廣告不存在",
        tips_error_ad_not_open: "廣告不在開放時間",
        tips_error_ad_price_change: "廣告報價已產生變化",
        tips_error_not_support_curreny: "不支持該貨幣類型",
        tips_error_amount_not_match: "交易金額超出範圍",
        tips_error_ad_too_many: "同個類型同個國家同種貨幣只允許發布兩個廣告，請在已發布的廣告中進行更新調整",
        tips_error_ad_disable: "廣告被禁用",
        tips_error_trade_not_exist: "交易不存在",
        tips_error_trade_not_allow_this_set: "交易不允許執行當前操作",
        tips_error_trade_expire: "交易已過期",
        tips_trade_have_exist: "你已存在一單購買比特幣交易，請處理完後再次購買",
        label_btn_to_go: "前往",
        tips_error_id_check: "實名認證失敗",
        tips_error_only_invite: "目前僅限受邀請用戶註冊，謝謝合作！",
        tips_error_only_ader_trust: "該廣告僅限於廣告主信任的用戶才能下單",
        tips_error_max_address: "最多只能新增20個地址",
        language_list: {"en-US": "English", "zh-CN": "简体中文", "zh-HK": "繁體中文"},
        label_new_message_send_you: "給您發來",
        label_new_message_buy: "購買",
        label_new_message_sell: "出售",
        label_new_message: "交易消息",
        tips_error_phone_number: "請輸入正確的手機號碼",
        label_message_unreade: "條未讀消息",
        label_card_center: "禮品中心",
        label_error_6001: "刮刮卡不存在",
        label_error_6002: "刮刮卡未激活",
        label_error_6003: "刮刮卡已刮開",
        label_error_6004: "刮刮卡已過期",
        label_error_6005: "刮刮卡領取數量限制",
        tips_error_1025: "轉出的比特幣數量最低為",
        tips_error_1027: "親，僅限新用戶首次交易哦，繼續找其它廣告看看吧！",
        tips_error_6: "目前比特幣區塊正在進行分叉，為保證您的資金安全，錢包服務已暫停。詳情了解CoinCola官方公告",
        tips_error_6_btn: "查看公告",
        label_error_1029: "谷歌驗證已綁定，無需再次綁定。",
        label_error_1028: "谷歌驗證碼不正確或者已過期，請重新輸入",
        label_google_auth_code_is_required: "您已開啟谷歌驗證，請輸入谷歌驗證碼",
        contact_server: "需要幫助"
    }
}, function (e, t) {
    e.exports = {
        title: "邀請好友加入 CoinCola",
        label_invited: "成功邀請",
        label_invited_get_btc: "提成收益",
        label_lucky_card_count: "獲得禮券",
        label_unit_man: "人",
        label_unit_lucky_card: "張",
        label_invite_by_pic: "圖片邀請",
        label_invite_by_text: "文字邀請",
        label_coincola_lucky_card: "可盈可樂刮刮卡",
        label_get_lucky_card_after_trade: "完成一筆交易可刮開",
        label_lucky_card_exprie: "有效期",
        label_trade_now: "立即交易",
        label_lucky_card_most_bouns: "最高可得<span class='red'>1</span><span class='unit'>BTC</span>",
        label_btn_use_lucky_card: "點我刮獎",
        label_get_x_btc_1: "獲得",
        label_use_lucky_card_tips: "手氣不錯，邀請好友一起贏大獎吧",
        label_use_lucky_card_no_btc: "很遺憾，未中獎",
        label_lucky_card_expried: "已過期",
        label_more_lucky_card: "如何獲得更多刮刮卡？",
        label_invite_tips_1: "登陸可盈可樂，在“我的”→“邀請好友”可以分享圖片或者鏈接到朋友圈或者微信好友；",
        label_invite_tips_2: "好友成功通過您邀請鏈接註冊並成功交易您可以獲得比特幣獎金，金額為交易額0.1%；",
        label_invite_tips_3: "獎金以比特幣形式，在當筆交易完成之後即刻發送到您的CoinCola錢包中；",
        label_invite_tips_4: "同一用戶僅能被邀請一次；",
        label_invite_tips_5: "CoinCola保留對活動的解釋權。",
        label_invite_tips_eg: "舉例：當您帶來一個在CoinCola.com註冊的用戶，如果他成功交易一筆100 BTC 的交易，您可以從這個交易者的交易費中賺取0.1%，您掙得的總數是0.1 BTC。",
        label_card_tips_1: "登陸可盈可樂，在“我的”→“邀請好友”可以分享圖片或者鏈接到朋友圈或者微信好友，即可獲得刮刮卡。",
        label_card_tips_2: "目前刮刮卡獲得的途徑只能通過手機端分享，電腦端暫不支持。",
        label_card_tips_3: "得到刮刮卡後，下筆交易完成即可刮開刮刮卡，刮得的比特幣將直接進入您的可盈可樂錢包。",
        label_card_tips_4: "您通過分享每天可以獲得多至3張刮刮卡。",
        label_card_tips_5: "可盈可樂保留本活動的最終解釋權。",
        label_card_tips_6: "舉例：如果您將圖片或者邀請鏈接發到朋友圈或者微信好友、微信群，即可獲得刮刮卡一張，下次交易結束即可刮開刮刮卡，掛到的比特幣將直接打到您的可盈可樂錢包。",
        label_right_click_to_save_pic: "點擊保存圖片",
        label_invite_by_text_tips: "複製下面這段文字給好友，好友通過你的專屬鏈接註冊成功，你就可以享受好友的交易提成了",
        label_invite_by_text_context: "CoinCola安全可信賴的香港比特幣場外交易平臺，百萬比特幣紅包趕緊來注册領取吧！",
        title_card_center: "禮品中心",
        label_no_lucky_card: "暫時沒有刮刮卡",
        label_get_u_a_lucky_card: "送一你張刮刮卡，可盈又可樂",
        label_get_u_a_lucky_card_2: "送你一張<span style='color: #ffef1e;'>刮刮卡</span>，好運連連來",
        label_welcome_to_coincola: "歡迎加入 CoinCola 大家庭",
        label_send_u_a_gift: "送你一份禮物，趕快領取吧!",
        label_new_user_gift: "新手壕福利",
        label_cont_title_card_center: "紅包禮券",
        label_cont_title_activity_rules: "活動規則",
        label_cont_lucky_card: "可樂刮刮卡"
    }
}, function (e, t) {
    e.exports = {
        title: "消息",
        label_message_my: "我的消息",
        label_message_all: "所有消息",
        label_message_sell: "賣幣消息",
        label_message_buy: "買幣消息",
        label_message_system: "系統消息",
        label_message_kf: "客服消息",
        label_send_palceholder: "說點什麼吧...",
        label_send: "發送",
        label_system_message: "[系統消息]",
        label_img_message: "[圖片]",
        label_no_message: "[暫無消息]",
        label_quantity: "交易量",
        label_price: "價格",
        label_margin: "溢價",
        label_fee: "手續費",
        system_message_text: {
            PLACED_ORDER: {title: "買家拍下未付款", text: "買家已拍下，等待買家付款"},
            BUYER_PAID: {title: "買家標記已付款", text: "買家標記已付款，等待賣家確認收款後釋放比特幣"},
            SELLER_CONFIRMED: {title: "賣家已釋放比特幣", text: "已釋放比特幣, 等待交易雙方的評價"},
            BUYER_COMMENTED: {title: "買家已評論", text: "買家已評論，等待交易雙方的評價"},
            SELLER_COMMENTED: {title: "賣家已評價", text: "賣家已評價，等待交易雙方的評價"},
            FINISHED: {title: "交易完成", text: "雙方評論成功，交易已完成"},
            CLOSED: {title: "交易關閉", text: "買家關閉了交易"},
            EXPIRED: {title: "交易已過期", text: "買家超過在規定時間內付款，交易已過期"},
            PAID_CLOSED: {title: "交易已關閉", text: "買家已付款，但是買家關閉交易"},
            EXPIRATION_WARNING: {title: "超時提醒", text: "買家尚未確認此交易的付款，請盡快操作，否則超時將自動取消"},
            IDLE_SELLER_COMPLAINING: {title: "買家申訴", text: "買家已付款，但賣家未釋放比特幣"},
            NOT_PAID_COMPLAINING: {title: "賣家申訴", text: "買家標記已付款，但賣家未收到款項"},
            ARBITRATION_CLOSED: {title: "交易仲裁", text: "買家未付款，已解凍比特幣。僅賣家可進行交易評價"},
            ARBITRATION_CONFIRMED: {title: "交易仲裁", text: "買家已付款，已釋放比特幣。僅買家可進行交易評價"}
        },
        label_btn_remind: "提醒對方",
        label_btn_pay: "標記付款",
        label_btn_comment: "評論對方",
        label_btn_release: "釋放比特幣",
        label_btn_get_money: "釋放比特幣",
        label_input_no_empty: "發送內容不可為空",
        payment_provider: {
            CASH_DEPOSIT: "現金存款",
            NATIONAL_BANK: "銀行轉賬",
            ALIPAY: "支付寶",
            WECHAT_PAY: "微信支付",
            ITUNES_GIFT_CARD: "iTunes禮品卡",
            PAYTM: "Paytm",
            OTHER: "其它支付方式"
        },
        label_trade_amount: "交易金額",
        tips_release_success: "釋放比特幣成功",
        label_message_unreade: "條未讀消息",
        tips_cotact_fellow: "聯繫對方",
        label_i_am_selling: "我在出售比特幣",
        label_i_am_buying: "我在購買比特幣",
        label_amount_limmit: "交易限額"
    }
}, , , , , , , function (e, t, n) {
    "use strict";
    function i(e) {
        function t(e) {
            return 4294967296 * (e - Math.floor(e)) | 0
        }

        var n, i = 0, r = 2;
        e:for (; 64 > i; r++) {
            for (n = 2; n * n <= r; n++)if (0 == r % n)continue e;
            8 > i && (e.g[i] = t(Math.pow(r, .5))), e.f[i] = t(Math.pow(r, 1 / 3)), i++
        }
    }

    var r, o, s = {
        cipher: {}, hash: {}, keyexchange: {}, mode: {}, misc: {}, codec: {}, exception: {
            corrupt: function (e) {
                this.toString = function () {
                    return "CORRUPT: " + this.message
                }, this.message = e
            }, invalid: function (e) {
                this.toString = function () {
                    return "INVALID: " + this.message
                }, this.message = e
            }, bug: function (e) {
                this.toString = function () {
                    return "BUG: " + this.message
                }, this.message = e
            }, notReady: function (e) {
                this.toString = function () {
                    return "NOT READY: " + this.message
                }, this.message = e
            }
        }
    };
    void 0 !== e && e.exports && (e.exports = s), r = [], void 0 !== (o = function () {
        return s
    }.apply(t, r)) && (e.exports = o), s.bitArray = {
        bitSlice: function (e, t, n) {
            return e = s.bitArray.k(e.slice(t / 32), 32 - (31 & t)).slice(1), void 0 === n ? e : s.bitArray.clamp(e, n - t)
        }, extract: function (e, t, n) {
            var i = Math.floor(-t - n & 31);
            return (-32 & (t + n - 1 ^ t) ? e[t / 32 | 0] << 32 - i ^ e[t / 32 + 1 | 0] >>> i : e[t / 32 | 0] >>> i) & (1 << n) - 1
        }, concat: function (e, t) {
            if (0 === e.length || 0 === t.length)return e.concat(t);
            var n = e[e.length - 1], i = s.bitArray.getPartial(n);
            return 32 === i ? e.concat(t) : s.bitArray.k(t, i, 0 | n, e.slice(0, e.length - 1))
        }, bitLength: function (e) {
            var t = e.length;
            return 0 === t ? 0 : 32 * (t - 1) + s.bitArray.getPartial(e[t - 1])
        }, clamp: function (e, t) {
            if (32 * e.length < t)return e;
            e = e.slice(0, Math.ceil(t / 32));
            var n = e.length;
            return t &= 31, 0 < n && t && (e[n - 1] = s.bitArray.partial(t, e[n - 1] & 2147483648 >> t - 1, 1)), e
        }, partial: function (e, t, n) {
            return 32 === e ? t : (n ? 0 | t : t << 32 - e) + 1099511627776 * e
        }, getPartial: function (e) {
            return Math.round(e / 1099511627776) || 32
        }, equal: function (e, t) {
            if (s.bitArray.bitLength(e) !== s.bitArray.bitLength(t))return !1;
            var n, i = 0;
            for (n = 0; n < e.length; n++)i |= e[n] ^ t[n];
            return 0 === i
        }, k: function (e, t, n, i) {
            var r;
            for (r = 0, void 0 === i && (i = []); 32 <= t; t -= 32)i.push(n), n = 0;
            if (0 === t)return i.concat(e);
            for (r = 0; r < e.length; r++)i.push(n | e[r] >>> t), n = e[r] << 32 - t;
            return r = e.length ? e[e.length - 1] : 0, e = s.bitArray.getPartial(r), i.push(s.bitArray.partial(t + e & 31, 32 < t + e ? n : i.pop(), 1)), i
        }, m: function (e, t) {
            return [e[0] ^ t[0], e[1] ^ t[1], e[2] ^ t[2], e[3] ^ t[3]]
        }, byteswapM: function (e) {
            var t, n;
            for (t = 0; t < e.length; ++t)n = e[t], e[t] = n >>> 24 | n >>> 8 & 65280 | (65280 & n) << 8 | n << 24;
            return e
        }
    }, s.codec.utf8String = {
        fromBits: function (e) {
            var t, n, i = "", r = s.bitArray.bitLength(e);
            for (t = 0; t < r / 8; t++)0 == (3 & t) && (n = e[t / 4]), i += String.fromCharCode(n >>> 24), n <<= 8;
            return decodeURIComponent(escape(i))
        }, toBits: function (e) {
            e = unescape(encodeURIComponent(e));
            var t, n = [], i = 0;
            for (t = 0; t < e.length; t++)i = i << 8 | e.charCodeAt(t), 3 == (3 & t) && (n.push(i), i = 0);
            return 3 & t && n.push(s.bitArray.partial(8 * (3 & t), i)), n
        }
    }, s.codec.hex = {
        fromBits: function (e) {
            var t, n = "";
            for (t = 0; t < e.length; t++)n += (0xf00000000000 + (0 | e[t])).toString(16).substr(4);
            return n.substr(0, s.bitArray.bitLength(e) / 4)
        }, toBits: function (e) {
            var t, n, i = [];
            for (e = e.replace(/\s|0x/g, ""), n = e.length, e += "00000000", t = 0; t < e.length; t += 8)i.push(0 ^ parseInt(e.substr(t, 8), 16));
            return s.bitArray.clamp(i, 4 * n)
        }
    }, s.codec.base64 = {
        i: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
        fromBits: function (e, t, n) {
            var i = "", r = 0, o = s.codec.base64.i, a = 0, l = s.bitArray.bitLength(e);
            for (n && (o = o.substr(0, 62) + "-_"), n = 0; 6 * i.length < l;)i += o.charAt((a ^ e[n] >>> r) >>> 26), 6 > r ? (a = e[n] << 6 - r, r += 26, n++) : (a <<= 6, r -= 6);
            for (; 3 & i.length && !t;)i += "=";
            return i
        },
        toBits: function (e, t) {
            e = e.replace(/\s|=/g, "");
            var n, i, r = [], o = 0, a = s.codec.base64.i, l = 0;
            for (t && (a = a.substr(0, 62) + "-_"), n = 0; n < e.length; n++) {
                if (0 > (i = a.indexOf(e.charAt(n))))throw new s.exception.invalid("this isn't base64!");
                26 < o ? (o -= 26, r.push(l ^ i >>> o), l = i << 32 - o) : (o += 6, l ^= i << 32 - o)
            }
            return 56 & o && r.push(s.bitArray.partial(56 & o, l, 1)), r
        }
    }, s.codec.base64url = {
        fromBits: function (e) {
            return s.codec.base64.fromBits(e, 1, 1)
        }, toBits: function (e) {
            return s.codec.base64.toBits(e, 1)
        }
    }, s.hash.sha256 = function (e) {
        this.f[0] || i(this), e ? (this.c = e.c.slice(0), this.b = e.b.slice(0), this.a = e.a) : this.reset()
    }, s.hash.sha256.hash = function (e) {
        return (new s.hash.sha256).update(e).finalize()
    }, s.hash.sha256.prototype = {
        blockSize: 512, reset: function () {
            return this.c = this.g.slice(0), this.b = [], this.a = 0, this
        }, update: function (e) {
            "string" == typeof e && (e = s.codec.utf8String.toBits(e));
            var t, n = this.b = s.bitArray.concat(this.b, e);
            for (t = this.a, e = this.a = t + s.bitArray.bitLength(e), t = 512 + t & -512; t <= e; t += 512)this.e(n.splice(0, 16));
            return this
        }, finalize: function () {
            var e, t = this.b, n = this.c, t = s.bitArray.concat(t, [s.bitArray.partial(1, 1)]);
            for (e = t.length + 2; 15 & e; e++)t.push(0);
            for (t.push(Math.floor(this.a / 4294967296)), t.push(0 | this.a); t.length;)this.e(t.splice(0, 16));
            return this.reset(), n
        }, g: [], f: [], e: function (e) {
            var t, n, i = e.slice(0), r = this.c, o = this.f, s = r[0], a = r[1], l = r[2], c = r[3], u = r[4],
                d = r[5], h = r[6], p = r[7];
            for (e = 0; 64 > e; e++)16 > e ? t = i[e] : (t = i[e + 1 & 15], n = i[e + 14 & 15], t = i[15 & e] = (t >>> 7 ^ t >>> 18 ^ t >>> 3 ^ t << 25 ^ t << 14) + (n >>> 17 ^ n >>> 19 ^ n >>> 10 ^ n << 15 ^ n << 13) + i[15 & e] + i[e + 9 & 15] | 0), t = t + p + (u >>> 6 ^ u >>> 11 ^ u >>> 25 ^ u << 26 ^ u << 21 ^ u << 7) + (h ^ u & (d ^ h)) + o[e], p = h, h = d, d = u, u = c + t | 0, c = l, l = a, a = s, s = t + (a & l ^ c & (a ^ l)) + (a >>> 2 ^ a >>> 13 ^ a >>> 22 ^ a << 30 ^ a << 19 ^ a << 10) | 0;
            r[0] = r[0] + s | 0, r[1] = r[1] + a | 0, r[2] = r[2] + l | 0, r[3] = r[3] + c | 0, r[4] = r[4] + u | 0, r[5] = r[5] + d | 0, r[6] = r[6] + h | 0, r[7] = r[7] + p | 0
        }
    }, s.hash.sha1 = function (e) {
        e ? (this.c = e.c.slice(0), this.b = e.b.slice(0), this.a = e.a) : this.reset()
    }, s.hash.sha1.hash = function (e) {
        return (new s.hash.sha1).update(e).finalize()
    }, s.hash.sha1.prototype = {
        blockSize: 512,
        reset: function () {
            return this.c = this.g.slice(0), this.b = [], this.a = 0, this
        },
        update: function (e) {
            "string" == typeof e && (e = s.codec.utf8String.toBits(e));
            var t, n = this.b = s.bitArray.concat(this.b, e);
            for (t = this.a, e = this.a = t + s.bitArray.bitLength(e), t = this.blockSize + t & -this.blockSize; t <= e; t += this.blockSize)this.e(n.splice(0, 16));
            return this
        },
        finalize: function () {
            var e, t = this.b, n = this.c, t = s.bitArray.concat(t, [s.bitArray.partial(1, 1)]);
            for (e = t.length + 2; 15 & e; e++)t.push(0);
            for (t.push(Math.floor(this.a / 4294967296)), t.push(0 | this.a); t.length;)this.e(t.splice(0, 16));
            return this.reset(), n
        },
        g: [1732584193, 4023233417, 2562383102, 271733878, 3285377520],
        f: [1518500249, 1859775393, 2400959708, 3395469782],
        e: function (e) {
            var t, n, i, r, o, s, a = e.slice(0), l = this.c;
            for (n = l[0], i = l[1], r = l[2], o = l[3], s = l[4], e = 0; 79 >= e; e++)16 <= e && (a[e] = (a[e - 3] ^ a[e - 8] ^ a[e - 14] ^ a[e - 16]) << 1 | (a[e - 3] ^ a[e - 8] ^ a[e - 14] ^ a[e - 16]) >>> 31), t = 19 >= e ? i & r | ~i & o : 39 >= e ? i ^ r ^ o : 59 >= e ? i & r | i & o | r & o : 79 >= e ? i ^ r ^ o : void 0, t = (n << 5 | n >>> 27) + t + s + a[e] + this.f[Math.floor(e / 20)] | 0, s = o, o = r, r = i << 30 | i >>> 2, i = n, n = t;
            l[0] = l[0] + n | 0, l[1] = l[1] + i | 0, l[2] = l[2] + r | 0, l[3] = l[3] + o | 0, l[4] = l[4] + s | 0
        }
    }, s.misc.hmac = function (e, t) {
        this.j = t = t || s.hash.sha256;
        var n, i = [[], []], r = t.prototype.blockSize / 32;
        for (this.d = [new t, new t], e.length > r && (e = t.hash(e)), n = 0; n < r; n++)i[0][n] = 909522486 ^ e[n], i[1][n] = 1549556828 ^ e[n];
        this.d[0].update(i[0]), this.d[1].update(i[1]), this.h = new t(this.d[0])
    }, s.misc.hmac.prototype.encrypt = s.misc.hmac.prototype.mac = function (e) {
        if (this.l)throw new s.exception.invalid("encrypt on already updated hmac called!");
        return this.update(e), this.digest(e)
    }, s.misc.hmac.prototype.reset = function () {
        this.h = new this.j(this.d[0]), this.l = !1
    }, s.misc.hmac.prototype.update = function (e) {
        this.l = !0, this.h.update(e)
    }, s.misc.hmac.prototype.digest = function () {
        var e = this.h.finalize(), e = new this.j(this.d[1]).update(e).finalize();
        return this.reset(), e
    }, s.misc.pbkdf2 = function (e, t, n, i, r) {
        if (n = n || 1e3, 0 > i || 0 > n)throw s.exception.invalid("invalid params to pbkdf2");
        "string" == typeof e && (e = s.codec.utf8String.toBits(e)), "string" == typeof t && (t = s.codec.utf8String.toBits(t)), r = r || s.misc.hmac, e = new r(e);
        var o, a, l, c, u = [], d = s.bitArray;
        for (c = 1; 32 * u.length < (i || 1); c++) {
            for (r = o = e.encrypt(d.concat(t, [c])), a = 1; a < n; a++)for (o = e.encrypt(o), l = 0; l < o.length; l++)r[l] ^= o[l];
            u = u.concat(r)
        }
        return i && (u = d.clamp(u, i)), u
    }
}, , , , , , , , , , , , , , function (e, t, n) {
    (function (t) {
        e.exports = /*!
         Chosen, a Select Box Enhancer for jQuery and Prototype
         by Patrick Filler for Harvest, http://getharvest.com

         Version 1.1.0
         Full source at https://github.com/harvesthq/chosen
         Copyright (c) 2011 Harvest http://getharvest.com

         MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
         This file is generated by `grunt build`, do not edit it by hand.
         */
            function () {
                var e, n, i, r, o, s = {}.hasOwnProperty, a = function (e, t) {
                    function n() {
                        this.constructor = e
                    }

                    for (var i in t)s.call(t, i) && (e[i] = t[i]);
                    return n.prototype = t.prototype, e.prototype = new n, e.__super__ = t.prototype, e
                };
                r = function () {
                    function e() {
                        this.options_index = 0, this.parsed = []
                    }

                    return e.prototype.add_node = function (e) {
                        return "OPTGROUP" === e.nodeName.toUpperCase() ? this.add_group(e) : this.add_option(e)
                    }, e.prototype.add_group = function (e) {
                        var t, n, i, r, o, s;
                        for (t = this.parsed.length, this.parsed.push({
                            array_index: t,
                            group: !0,
                            label: this.escapeExpression(e.label),
                            children: 0,
                            disabled: e.disabled
                        }), o = e.childNodes, s = [], i = 0, r = o.length; i < r; i++)n = o[i], s.push(this.add_option(n, t, e.disabled));
                        return s
                    }, e.prototype.add_option = function (e, t, n) {
                        if ("OPTION" === e.nodeName.toUpperCase())return "" !== e.text ? (null != t && (this.parsed[t].children += 1), this.parsed.push({
                            array_index: this.parsed.length,
                            options_index: this.options_index,
                            value: e.value,
                            text: e.text,
                            html: e.innerHTML,
                            selected: e.selected,
                            disabled: !0 === n ? n : e.disabled,
                            group_array_index: t,
                            classes: e.className,
                            style: e.style.cssText
                        })) : this.parsed.push({
                            array_index: this.parsed.length,
                            options_index: this.options_index,
                            empty: !0
                        }), this.options_index += 1
                    }, e.prototype.escapeExpression = function (e) {
                        var t, n;
                        return null == e || !1 === e ? "" : /[\&\<\>\"\'\`]/.test(e) ? (t = {
                            "<": "&lt;",
                            ">": "&gt;",
                            '"': "&quot;",
                            "'": "&#x27;",
                            "`": "&#x60;"
                        }, n = /&(?!\w+;)|[\<\>\"\'\`]/g, e.replace(n, function (e) {
                            return t[e] || "&amp;"
                        })) : e
                    }, e
                }(), r.select_to_array = function (e) {
                    var t, n, i, o, s;
                    for (n = new r, s = e.childNodes, i = 0, o = s.length; i < o; i++)t = s[i], n.add_node(t);
                    return n.parsed
                }, n = function () {
                    function e(t, n) {
                        this.form_field = t, this.options = null != n ? n : {}, e.browser_is_supported() && (this.is_multiple = this.form_field.multiple, this.set_default_text(), this.set_default_values(), this.setup(), this.set_up_html(), this.register_observers())
                    }

                    return e.prototype.set_default_values = function () {
                        var e = this;
                        return this.click_test_action = function (t) {
                            return e.test_active_click(t)
                        }, this.activate_action = function (t) {
                            return e.activate_field(t)
                        }, this.active_field = !1, this.mouse_on_container = !1, this.results_showing = !1, this.result_highlighted = null, this.allow_single_deselect = null != this.options.allow_single_deselect && null != this.form_field.options[0] && "" === this.form_field.options[0].text && this.options.allow_single_deselect, this.disable_search_threshold = this.options.disable_search_threshold || 0, this.disable_search = this.options.disable_search || !1, this.enable_split_word_search = null == this.options.enable_split_word_search || this.options.enable_split_word_search, this.group_search = null == this.options.group_search || this.options.group_search, this.search_contains = this.options.search_contains || !1, this.single_backstroke_delete = null == this.options.single_backstroke_delete || this.options.single_backstroke_delete, this.max_selected_options = this.options.max_selected_options || 1 / 0, this.inherit_select_classes = this.options.inherit_select_classes || !1, this.display_selected_options = null == this.options.display_selected_options || this.options.display_selected_options, this.display_disabled_options = null == this.options.display_disabled_options || this.options.display_disabled_options
                    }, e.prototype.set_default_text = function () {
                        return this.form_field.getAttribute("data-placeholder") ? this.default_text = this.form_field.getAttribute("data-placeholder") : this.is_multiple ? this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || e.default_multiple_text : this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || e.default_single_text, this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || e.default_no_result_text
                    }, e.prototype.mouse_enter = function () {
                        return this.mouse_on_container = !0
                    }, e.prototype.mouse_leave = function () {
                        return this.mouse_on_container = !1
                    }, e.prototype.input_focus = function (e) {
                        var t = this;
                        if (this.is_multiple) {
                            if (!this.active_field)return setTimeout(function () {
                                return t.container_mousedown()
                            }, 50)
                        } else if (!this.active_field)return this.activate_field()
                    }, e.prototype.input_blur = function (e) {
                        var t = this;
                        if (!this.mouse_on_container)return this.active_field = !1, setTimeout(function () {
                            return t.blur_test()
                        }, 100)
                    }, e.prototype.results_option_build = function (e) {
                        var t, n, i, r, o;
                        for (t = "", o = this.results_data, i = 0, r = o.length; i < r; i++)n = o[i], n.group ? t += this.result_add_group(n) : t += this.result_add_option(n), (null != e ? e.first : void 0) && (n.selected && this.is_multiple ? this.choice_build(n) : n.selected && !this.is_multiple && this.single_set_selected_text(n.text));
                        return t
                    }, e.prototype.result_add_option = function (e) {
                        var t, n;
                        return e.search_match && this.include_option_in_results(e) ? (t = [], e.disabled || e.selected && this.is_multiple || t.push("active-result"), !e.disabled || e.selected && this.is_multiple || t.push("disabled-result"), e.selected && t.push("result-selected"), null != e.group_array_index && t.push("group-option"), "" !== e.classes && t.push(e.classes), n = document.createElement("li"), n.className = t.join(" "), n.style.cssText = e.style, n.setAttribute("data-option-array-index", e.array_index), n.innerHTML = e.search_text, this.outerHTML(n)) : ""
                    }, e.prototype.result_add_group = function (e) {
                        var t;
                        return (e.search_match || e.group_match) && e.active_options > 0 ? (t = document.createElement("li"), t.className = "group-result", t.innerHTML = e.search_text, this.outerHTML(t)) : ""
                    }, e.prototype.results_update_field = function () {
                        if (this.set_default_text(), this.is_multiple || this.results_reset_cleanup(), this.result_clear_highlight(), this.results_build(), this.results_showing)return this.winnow_results()
                    }, e.prototype.reset_single_select_options = function () {
                        var e, t, n, i, r;
                        for (i = this.results_data, r = [], t = 0, n = i.length; t < n; t++)e = i[t], e.selected ? r.push(e.selected = !1) : r.push(void 0);
                        return r
                    }, e.prototype.results_toggle = function () {
                        return this.results_showing ? this.results_hide() : this.results_show()
                    }, e.prototype.results_search = function (e) {
                        return this.results_showing ? this.winnow_results() : this.results_show()
                    }, e.prototype.winnow_results = function () {
                        var e, t, n, i, r, o, s, a, l, c, u, d, h;
                        for (this.no_results_clear(), r = 0, s = this.get_search_text(), e = s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), i = this.search_contains ? "" : "^", n = new RegExp(i + e, "i"), c = new RegExp(e, "i"), h = this.results_data, u = 0, d = h.length; u < d; u++)t = h[u], t.search_match = !1, o = null, this.include_option_in_results(t) && (t.group && (t.group_match = !1, t.active_options = 0), null != t.group_array_index && this.results_data[t.group_array_index] && (o = this.results_data[t.group_array_index], 0 === o.active_options && o.search_match && (r += 1), o.active_options += 1), t.group && !this.group_search || (t.search_text = t.group ? t.label : t.html, t.search_match = this.search_string_match(t.search_text, n), t.search_match && !t.group && (r += 1), t.search_match ? (s.length && (a = t.search_text.search(c), l = t.search_text.substr(0, a + s.length) + "</em>" + t.search_text.substr(a + s.length), t.search_text = l.substr(0, a) + "<em>" + l.substr(a)), null != o && (o.group_match = !0)) : null != t.group_array_index && this.results_data[t.group_array_index].search_match && (t.search_match = !0)));
                        return this.result_clear_highlight(), r < 1 && s.length ? (this.update_results_content(""), this.no_results(s)) : (this.update_results_content(this.results_option_build()), this.winnow_results_set_highlight())
                    }, e.prototype.search_string_match = function (e, t) {
                        var n, i, r, o;
                        if (t.test(e))return !0;
                        if (this.enable_split_word_search && (e.indexOf(" ") >= 0 || 0 === e.indexOf("[")) && (i = e.replace(/\[|\]/g, "").split(" "), i.length))for (r = 0, o = i.length; r < o; r++)if (n = i[r], t.test(n))return !0
                    }, e.prototype.choices_count = function () {
                        var e, t, n, i;
                        if (null != this.selected_option_count)return this.selected_option_count;
                        for (this.selected_option_count = 0, i = this.form_field.options, t = 0, n = i.length; t < n; t++)e = i[t], e.selected && (this.selected_option_count += 1);
                        return this.selected_option_count
                    }, e.prototype.choices_click = function (e) {
                        if (e.preventDefault(), !this.results_showing && !this.is_disabled)return this.results_show()
                    }, e.prototype.keyup_checker = function (e) {
                        var t, n;
                        switch (t = null != (n = e.which) ? n : e.keyCode, this.search_field_scale(), t) {
                            case 8:
                                if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0)return this.keydown_backstroke();
                                if (!this.pending_backstroke)return this.result_clear_highlight(), this.results_search();
                                break;
                            case 13:
                                if (e.preventDefault(), this.results_showing)return this.result_select(e);
                                break;
                            case 27:
                                return this.results_showing && this.results_hide(), !0;
                            case 9:
                            case 38:
                            case 40:
                            case 16:
                            case 91:
                            case 17:
                                break;
                            default:
                                return this.results_search()
                        }
                    }, e.prototype.clipboard_event_checker = function (e) {
                        var t = this;
                        return setTimeout(function () {
                            return t.results_search()
                        }, 50)
                    }, e.prototype.container_width = function () {
                        return null != this.options.width ? this.options.width : this.form_field.offsetWidth + "px"
                    }, e.prototype.include_option_in_results = function (e) {
                        return !(this.is_multiple && !this.display_selected_options && e.selected) && (!(!this.display_disabled_options && e.disabled) && !e.empty)
                    }, e.prototype.search_results_touchstart = function (e) {
                        return this.touch_started = !0, this.search_results_mouseover(e)
                    }, e.prototype.search_results_touchmove = function (e) {
                        return this.touch_started = !1, this.search_results_mouseout(e)
                    }, e.prototype.search_results_touchend = function (e) {
                        if (this.touch_started)return this.search_results_mouseup(e)
                    }, e.prototype.outerHTML = function (e) {
                        var t;
                        return e.outerHTML ? e.outerHTML : (t = document.createElement("div"), t.appendChild(e), t.innerHTML)
                    }, e.browser_is_supported = function () {
                        return "Microsoft Internet Explorer" === window.navigator.appName ? document.documentMode >= 8 : !/iP(od|hone)/i.test(window.navigator.userAgent) && (!/Android/i.test(window.navigator.userAgent) || !/Mobile/i.test(window.navigator.userAgent))
                    }, e.default_multiple_text = "Select Some Options", e.default_single_text = "Select an Option", e.default_no_result_text = "No results match", e
                }(), e = t, e.fn.extend({
                    chosen: function (t) {
                        return n.browser_is_supported() ? this.each(function (n) {
                            var r, o;
                            r = e(this), o = r.data("chosen"), "destroy" === t && o ? o.destroy() : o || r.data("chosen", new i(this, t))
                        }) : this
                    }
                }), i = function (t) {
                    function n() {
                        return o = n.__super__.constructor.apply(this, arguments)
                    }

                    return a(n, t), n.prototype.setup = function () {
                        return this.form_field_jq = e(this.form_field), this.current_selectedIndex = this.form_field.selectedIndex, this.is_rtl = this.form_field_jq.hasClass("chosen-rtl")
                    }, n.prototype.set_up_html = function () {
                        var t, n;
                        return t = ["chosen-container"], t.push("chosen-container-" + (this.is_multiple ? "multi" : "single")), this.inherit_select_classes && this.form_field.className && t.push(this.form_field.className), this.is_rtl && t.push("chosen-rtl"), n = {
                            class: t.join(" "),
                            style: "width: " + this.container_width() + ";",
                            title: this.form_field.title
                        }, this.form_field.id.length && (n.id = this.form_field.id.replace(/[^\w]/g, "_") + "_chosen"), this.container = e("<div />", n), this.is_multiple ? this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="' + this.default_text + '" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>') : this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>' + this.default_text + '</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>'), this.form_field_jq.hide().after(this.container), this.dropdown = this.container.find("div.chosen-drop").first(), this.search_field = this.container.find("input").first(), this.search_results = this.container.find("ul.chosen-results").first(), this.search_field_scale(), this.search_no_results = this.container.find("li.no-results").first(), this.is_multiple ? (this.search_choices = this.container.find("ul.chosen-choices").first(), this.search_container = this.container.find("li.search-field").first()) : (this.search_container = this.container.find("div.chosen-search").first(), this.selected_item = this.container.find(".chosen-single").first()), this.results_build(), this.set_tab_index(), this.set_label_behavior(), this.form_field_jq.trigger("chosen:ready", {chosen: this})
                    }, n.prototype.register_observers = function () {
                        var e = this;
                        return this.container.bind("mousedown.chosen", function (t) {
                            e.container_mousedown(t)
                        }), this.container.bind("mouseup.chosen", function (t) {
                            e.container_mouseup(t)
                        }), this.container.bind("mouseenter.chosen", function (t) {
                            e.mouse_enter(t)
                        }), this.container.bind("mouseleave.chosen", function (t) {
                            e.mouse_leave(t)
                        }), this.search_results.bind("mouseup.chosen", function (t) {
                            e.search_results_mouseup(t)
                        }), this.search_results.bind("mouseover.chosen", function (t) {
                            e.search_results_mouseover(t)
                        }), this.search_results.bind("mouseout.chosen", function (t) {
                            e.search_results_mouseout(t)
                        }), this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen", function (t) {
                            e.search_results_mousewheel(t)
                        }), this.search_results.bind("touchstart.chosen", function (t) {
                            e.search_results_touchstart(t)
                        }), this.search_results.bind("touchmove.chosen", function (t) {
                            e.search_results_touchmove(t)
                        }), this.search_results.bind("touchend.chosen", function (t) {
                            e.search_results_touchend(t)
                        }), this.form_field_jq.bind("chosen:updated.chosen", function (t) {
                            e.results_update_field(t)
                        }), this.form_field_jq.bind("chosen:activate.chosen", function (t) {
                            e.activate_field(t)
                        }), this.form_field_jq.bind("chosen:open.chosen", function (t) {
                            e.container_mousedown(t)
                        }), this.form_field_jq.bind("chosen:close.chosen", function (t) {
                            e.input_blur(t)
                        }), this.search_field.bind("blur.chosen", function (t) {
                            e.input_blur(t)
                        }), this.search_field.bind("keyup.chosen", function (t) {
                            e.keyup_checker(t)
                        }), this.search_field.bind("keydown.chosen", function (t) {
                            e.keydown_checker(t)
                        }), this.search_field.bind("focus.chosen", function (t) {
                            e.input_focus(t)
                        }), this.search_field.bind("cut.chosen", function (t) {
                            e.clipboard_event_checker(t)
                        }), this.search_field.bind("paste.chosen", function (t) {
                            e.clipboard_event_checker(t)
                        }), this.is_multiple ? this.search_choices.bind("click.chosen", function (t) {
                            e.choices_click(t)
                        }) : this.container.bind("click.chosen", function (e) {
                            e.preventDefault()
                        })
                    }, n.prototype.destroy = function () {
                        return e(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action), this.search_field[0].tabIndex && (this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex), this.container.remove(), this.form_field_jq.removeData("chosen"), this.form_field_jq.show()
                    }, n.prototype.search_field_disabled = function () {
                        return this.is_disabled = this.form_field_jq[0].disabled, this.is_disabled ? (this.container.addClass("chosen-disabled"), this.search_field[0].disabled = !0, this.is_multiple || this.selected_item.unbind("focus.chosen", this.activate_action), this.close_field()) : (this.container.removeClass("chosen-disabled"), this.search_field[0].disabled = !1, this.is_multiple ? void 0 : this.selected_item.bind("focus.chosen", this.activate_action))
                    }, n.prototype.container_mousedown = function (t) {
                        if (!this.is_disabled && (t && "mousedown" === t.type && !this.results_showing && t.preventDefault(), null == t || !e(t.target).hasClass("search-choice-close")))return this.active_field ? this.is_multiple || !t || e(t.target)[0] !== this.selected_item[0] && !e(t.target).parents("a.chosen-single").length || (t.preventDefault(), this.results_toggle()) : (this.is_multiple && this.search_field.val(""), e(this.container[0].ownerDocument).bind("click.chosen", this.click_test_action), this.results_show()), this.activate_field()
                    }, n.prototype.container_mouseup = function (e) {
                        if ("ABBR" === e.target.nodeName && !this.is_disabled)return this.results_reset(e)
                    }, n.prototype.search_results_mousewheel = function (e) {
                        var t;
                        if (e.originalEvent && (t = -e.originalEvent.wheelDelta || e.originalEvent.detail), null != t)return e.preventDefault(), "DOMMouseScroll" === e.type && (t *= 40), this.search_results.scrollTop(t + this.search_results.scrollTop())
                    }, n.prototype.blur_test = function (e) {
                        if (!this.active_field && this.container.hasClass("chosen-container-active"))return this.close_field()
                    }, n.prototype.close_field = function () {
                        return e(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action), this.active_field = !1, this.results_hide(), this.container.removeClass("chosen-container-active"), this.clear_backstroke(), this.show_search_field_default(), this.search_field_scale()
                    }, n.prototype.activate_field = function () {
                        return this.container.addClass("chosen-container-active"), this.active_field = !0, this.search_field.val(this.search_field.val()), this.search_field.focus()
                    }, n.prototype.test_active_click = function (t) {
                        var n;
                        return n = e(t.target).closest(".chosen-container"), n.length && this.container[0] === n[0] ? this.active_field = !0 : this.close_field()
                    }, n.prototype.results_build = function () {
                        return this.parsing = !0, this.selected_option_count = null, this.results_data = r.select_to_array(this.form_field), this.is_multiple ? this.search_choices.find("li.search-choice").remove() : this.is_multiple || (this.single_set_selected_text(), this.disable_search || this.form_field.options.length <= this.disable_search_threshold ? (this.search_field[0].readOnly = !0, this.container.addClass("chosen-container-single-nosearch")) : (this.search_field[0].readOnly = !1, this.container.removeClass("chosen-container-single-nosearch"))), this.update_results_content(this.results_option_build({first: !0})), this.search_field_disabled(), this.show_search_field_default(), this.search_field_scale(), this.parsing = !1
                    }, n.prototype.result_do_highlight = function (e) {
                        var t, n, i, r, o;
                        if (e.length) {
                            if (this.result_clear_highlight(), this.result_highlight = e, this.result_highlight.addClass("highlighted"), i = parseInt(this.search_results.css("maxHeight"), 10), o = this.search_results.scrollTop(), r = i + o, n = this.result_highlight.position().top + this.search_results.scrollTop(), (t = n + this.result_highlight.outerHeight()) >= r)return this.search_results.scrollTop(t - i > 0 ? t - i : 0);
                            if (n < o)return this.search_results.scrollTop(n)
                        }
                    }, n.prototype.result_clear_highlight = function () {
                        return this.result_highlight && this.result_highlight.removeClass("highlighted"), this.result_highlight = null
                    }, n.prototype.results_show = function () {
                        return this.is_multiple && this.max_selected_options <= this.choices_count() ? (this.form_field_jq.trigger("chosen:maxselected", {chosen: this}), !1) : (this.container.addClass("chosen-with-drop"), this.results_showing = !0, this.search_field.focus(), this.search_field.val(this.search_field.val()), this.winnow_results(), this.form_field_jq.trigger("chosen:showing_dropdown", {chosen: this}))
                    }, n.prototype.update_results_content = function (e) {
                        return this.search_results.html(e)
                    }, n.prototype.results_hide = function () {
                        return this.results_showing && (this.result_clear_highlight(), this.container.removeClass("chosen-with-drop"), this.form_field_jq.trigger("chosen:hiding_dropdown", {chosen: this})), this.results_showing = !1
                    }, n.prototype.set_tab_index = function (e) {
                        var t;
                        if (this.form_field.tabIndex)return t = this.form_field.tabIndex, this.form_field.tabIndex = -1, this.search_field[0].tabIndex = t
                    }, n.prototype.set_label_behavior = function () {
                        var t = this;
                        if (this.form_field_label = this.form_field_jq.parents("label"), !this.form_field_label.length && this.form_field.id.length && (this.form_field_label = e("label[for='" + this.form_field.id + "']")), this.form_field_label.length > 0)return this.form_field_label.bind("click.chosen", function (e) {
                            return t.is_multiple ? t.container_mousedown(e) : t.activate_field()
                        })
                    }, n.prototype.show_search_field_default = function () {
                        return this.is_multiple && this.choices_count() < 1 && !this.active_field ? (this.search_field.val(this.default_text), this.search_field.addClass("default")) : (this.search_field.val(""), this.search_field.removeClass("default"))
                    }, n.prototype.search_results_mouseup = function (t) {
                        var n;
                        if (n = e(t.target).hasClass("active-result") ? e(t.target) : e(t.target).parents(".active-result").first(), n.length)return this.result_highlight = n, this.result_select(t), this.search_field.focus()
                    }, n.prototype.search_results_mouseover = function (t) {
                        var n;
                        if (n = e(t.target).hasClass("active-result") ? e(t.target) : e(t.target).parents(".active-result").first())return this.result_do_highlight(n)
                    }, n.prototype.search_results_mouseout = function (t) {
                        if (e(t.target).hasClass("active-result"))return this.result_clear_highlight()
                    }, n.prototype.choice_build = function (t) {
                        var n, i, r = this;
                        return n = e("<li />", {class: "search-choice"}).html("<span>" + t.html + "</span>"), t.disabled ? n.addClass("search-choice-disabled") : (i = e("<a />", {
                            class: "search-choice-close",
                            "data-option-array-index": t.array_index
                        }), i.bind("click.chosen", function (e) {
                            return r.choice_destroy_link_click(e)
                        }), n.append(i)), this.search_container.before(n)
                    }, n.prototype.choice_destroy_link_click = function (t) {
                        if (t.preventDefault(), t.stopPropagation(), !this.is_disabled)return this.choice_destroy(e(t.target))
                    }, n.prototype.choice_destroy = function (e) {
                        if (this.result_deselect(e[0].getAttribute("data-option-array-index")))return this.show_search_field_default(), this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1 && this.results_hide(), e.parents("li").first().remove(), this.search_field_scale()
                    }, n.prototype.results_reset = function () {
                        if (this.reset_single_select_options(), this.form_field.options[0].selected = !0, this.single_set_selected_text(), this.show_search_field_default(), this.results_reset_cleanup(), this.form_field_jq.trigger("change"), this.active_field)return this.results_hide()
                    }, n.prototype.results_reset_cleanup = function () {
                        return this.current_selectedIndex = this.form_field.selectedIndex, this.selected_item.find("abbr").remove()
                    }, n.prototype.result_select = function (e) {
                        var t, n;
                        if (this.result_highlight)return t = this.result_highlight, this.result_clear_highlight(), this.is_multiple && this.max_selected_options <= this.choices_count() ? (this.form_field_jq.trigger("chosen:maxselected", {chosen: this}), !1) : (this.is_multiple ? t.removeClass("active-result") : this.reset_single_select_options(), n = this.results_data[t[0].getAttribute("data-option-array-index")], n.selected = !0, this.form_field.options[n.options_index].selected = !0, this.selected_option_count = null, this.is_multiple ? this.choice_build(n) : this.single_set_selected_text(n.text), (e.metaKey || e.ctrlKey) && this.is_multiple || this.results_hide(), this.search_field.val(""), (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) && this.form_field_jq.trigger("change", {selected: this.form_field.options[n.options_index].value}), this.current_selectedIndex = this.form_field.selectedIndex, this.search_field_scale())
                    }, n.prototype.single_set_selected_text = function (e) {
                        return null == e && (e = this.default_text), e === this.default_text ? this.selected_item.addClass("chosen-default") : (this.single_deselect_control_build(), this.selected_item.removeClass("chosen-default")), this.selected_item.find("span").text(e)
                    }, n.prototype.result_deselect = function (e) {
                        var t;
                        return t = this.results_data[e], !this.form_field.options[t.options_index].disabled && (t.selected = !1, this.form_field.options[t.options_index].selected = !1, this.selected_option_count = null, this.result_clear_highlight(), this.results_showing && this.winnow_results(), this.form_field_jq.trigger("change", {deselected: this.form_field.options[t.options_index].value}), this.search_field_scale(), !0)
                    }, n.prototype.single_deselect_control_build = function () {
                        if (this.allow_single_deselect)return this.selected_item.find("abbr").length || this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'), this.selected_item.addClass("chosen-single-with-deselect")
                    }, n.prototype.get_search_text = function () {
                        return this.search_field.val() === this.default_text ? "" : e("<div/>").text(e.trim(this.search_field.val())).html()
                    }, n.prototype.winnow_results_set_highlight = function () {
                        var e, t;
                        if (t = this.is_multiple ? [] : this.search_results.find(".result-selected.active-result"), null != (e = t.length ? t.first() : this.search_results.find(".active-result").first()))return this.result_do_highlight(e)
                    }, n.prototype.no_results = function (t) {
                        var n;
                        return n = e('<li class="no-results">' + this.results_none_found + ' "<span></span>"</li>'), n.find("span").first().html(t), this.search_results.append(n), this.form_field_jq.trigger("chosen:no_results", {chosen: this})
                    }, n.prototype.no_results_clear = function () {
                        return this.search_results.find(".no-results").remove()
                    }, n.prototype.keydown_arrow = function () {
                        var e;
                        return this.results_showing && this.result_highlight ? (e = this.result_highlight.nextAll("li.active-result").first()) ? this.result_do_highlight(e) : void 0 : this.results_show()
                    }, n.prototype.keyup_arrow = function () {
                        var e;
                        return this.results_showing || this.is_multiple ? this.result_highlight ? (e = this.result_highlight.prevAll("li.active-result"), e.length ? this.result_do_highlight(e.first()) : (this.choices_count() > 0 && this.results_hide(), this.result_clear_highlight())) : void 0 : this.results_show()
                    }, n.prototype.keydown_backstroke = function () {
                        var e;
                        return this.pending_backstroke ? (this.choice_destroy(this.pending_backstroke.find("a").first()), this.clear_backstroke()) : (e = this.search_container.siblings("li.search-choice").last(), e.length && !e.hasClass("search-choice-disabled") ? (this.pending_backstroke = e, this.single_backstroke_delete ? this.keydown_backstroke() : this.pending_backstroke.addClass("search-choice-focus")) : void 0)
                    }, n.prototype.clear_backstroke = function () {
                        return this.pending_backstroke && this.pending_backstroke.removeClass("search-choice-focus"), this.pending_backstroke = null
                    }, n.prototype.keydown_checker = function (e) {
                        var t, n;
                        switch (t = null != (n = e.which) ? n : e.keyCode, this.search_field_scale(), 8 !== t && this.pending_backstroke && this.clear_backstroke(), t) {
                            case 8:
                                this.backstroke_length = this.search_field.val().length;
                                break;
                            case 9:
                                this.results_showing && !this.is_multiple && this.result_select(e), this.mouse_on_container = !1;
                                break;
                            case 13:
                                e.preventDefault();
                                break;
                            case 38:
                                e.preventDefault(), this.keyup_arrow();
                                break;
                            case 40:
                                e.preventDefault(), this.keydown_arrow()
                        }
                    }, n.prototype.search_field_scale = function () {
                        var t, n, i, r, o, s, a, l;
                        if (this.is_multiple) {
                            for (0, s = 0, r = "position:absolute; left: -1000px; top: -1000px; display:none;", o = ["font-size", "font-style", "font-weight", "font-family", "line-height", "text-transform", "letter-spacing"], a = 0, l = o.length; a < l; a++)i = o[a], r += i + ":" + this.search_field.css(i) + ";";
                            return t = e("<div />", {style: r}), t.text(this.search_field.val()), e("body").append(t), s = t.width() + 25, t.remove(), n = this.container.outerWidth(), s > n - 10 && (s = n - 10), this.search_field.css({width: s + "px"})
                        }
                    }, n
                }(n)
            }()
    }).call(t, n(0))
}, function (e, t, n) {
    (function (t) {
        function i(e) {
            var n = '<div class="shade"><div class="lucky-card gift ACTIVATED" card-id="' + e.id + '" style="margin-top: 10%;"><div class="shade-close"></div><div class="card-name">' + l.label_get_u_a_lucky_card + '</div><div class="card-slide-area"><span class="card-border-left"></span><span class="card-content"><div class="card-slider no-slide"><div class="card-text-1">' + l.label_lucky_card_most_bouns + '</div><a class="link btn-slide-card">' + l.label_btn_use_lucky_card + '</a></div><div class="card-slider slided" style="display: none"><div class="card-text-1">' + l.label_get_x_btc_1 + scientificToNumber(e.quantity) + 'BTC</div><div class="card-text-2">' + l.label_use_lucky_card_tips + '</div></div></span><span class="card-border-right"></span></div></div></div>';
            t("body").append(n).addClass("shade-show"), r()
        }

        function r() {
            t(".shade-close").click(function (e) {
                t("body").removeClass("shade-show")
            }), t(".btn-slide-card").click(function (e) {
                var n = t(e.target).parents(".card-slider").hide().parents(".card-content").find(".slided").show(),
                    i = t(e.target).parents(".lucky-card").attr("card-id");
                new a(n[0], {
                    done: function () {
                        t.ajax({
                            url: "/api/scratchcard/" + i + "/reveal", finish: function (e) {
                            }
                        })
                    }, clearWeight: 30
                })
            })
        }

        function o(e) {
            var n = '<div class="shade"><div class="red-bag-cont"><div class="shade-close"></div><div style="font-size: 20px;padding-top: 87px;">' + l.label_welcome_to_coincola + '</div><div style="font-size: 24px;margin-top: 40px;">' + l.label_send_u_a_gift + '</div><div class="red-bag-btn"></div></div><div class="gift UNACTIVATED" style="display: none;transform: scale3d(.05, .05, 1); -webkit-transform: scale3d(.05, .05, 1); -moz-transform: scale3d(.05, .05, 1); -ms-transform: scale3d(.05, .05, 1);"><div class="shade-close"></div><div style="font-size: 40px;color: #fff;padding-top: 40px;">' + l.label_new_user_gift + '</div><div style="font-size: 20px;color: #fff;margin-bottom: 32px;">' + l.label_get_u_a_lucky_card_2 + '</div><div class="card-slide-area"><span class="card-border-left"></span><span class="card-content"><div class="card-slider no-slide"><div class="card-text-1">' + l.label_lucky_card_most_bouns + '</div><a href="/buy" class="link blue">' + l.label_trade_now + '</a></div></span><span class="card-border-right"></span></div><div style="font-size: 14px;line-height: 22px;color: #fff;margin-top: 32px;">' + l.label_get_lucky_card_after_trade + "<br>" + l.label_lucky_card_exprie + ": " + e.begin + "~" + e.end + "</div></div></div>";
            t("body").append(n), s()
        }

        function s() {
            function e() {
                t(".red-bag-btn").attr("style", "background-position: -" + i % 6 * 130 + "px 0;"), 19 === (i += 1) && (clearInterval(n), r = 0, i = 0, t(".red-bag-cont").attr("style", "transform: scale3d(0, 0, 1); -webkit-transform: scale3d(0, 0, 1); -moz-transform: scale3d(0, 0, 1); -ms-transform: scale3d(0, 0, 1);"), setTimeout(function () {
                    t(".red-bag-cont").hide(), t(".gift").show().attr("style", "")
                }, 400))
            }

            var n = 0, i = 0, r = 0;
            t(".red-bag-btn").bind("mousedown", function (t) {
                0 === r && (n = setInterval(e, 50), r = 1)
            }), t(".shade-close").click(function (e) {
                t("body").removeClass("shade-show")
            })
        }

        var a = n(32), l = n(40)("./" + getCookie("lang") + "/invite.json");
        e.exports = function () {
            if (window.insertLuckyCard = i, "1" != getCookie("login_status"))return !1;
            (new Image).src = "/static/imgs/invite/red_packet_bg.png", (new Image).src = "/static/imgs/invite/bi.png", t.ajax({
                url: "/api/scratchcard/newbie",
                finish: function (e) {
                    e.data && (o(e.data), t("body").addClass("shade-show")), delCookie("login_status")
                }
            })
        }
    }).call(t, n(0))
}, function (e, t, n) {
    (function (t) {
        e.exports = function () {
            var e = 0, n = null;
            this.set = function () {
                n = setInterval(function () {
                    0 === e ? t('link[rel="shortcut icon"]').attr("href", "/static/imgs/favicon.ico") : t('link[rel="shortcut icon"]').attr("href", "/static/imgs/ico-message.ico"), e = (e + 1) % 2
                }, 1e3)
            }, this.remove = function () {
                t('link[rel="shortcut icon"]').attr("href", "/static/imgs/favicon.ico"), clearInterval(n), n = null
            }, this.getStatus = function () {
                return !!n
            }
        }
    }).call(t, n(0))
}, function (e, t, n) {
    (function (t) {
        function i(e) {
            window.zESettings = {
                webWidget: {
                    offset: {horizontal: "0px", vertical: "50px"},
                    zIndex: 1999,
                    contactOptions: {enabled: !0, contactButton: {zh: "聯繫我們", en: "Contact Us"}},
                    contactForm: {
                        fields: [{
                            id: 114099044874,
                            prefill: {"*": e("username") || "[vistor]"}
                        }, {id: 114099311594, prefill: {"*": navigator.userAgent}}]
                    }
                }
            }, r(), o.hotjar_id && function (e, t, n, i, r, s) {
                e.hj = e.hj || function () {
                        (e.hj.q = e.hj.q || []).push(arguments)
                    }, e._hjSettings = {
                    hjid: o.hotjar_id,
                    hjsv: 5
                }, r = t.getElementsByTagName("head")[0], s = t.createElement("script"), s.async = 1, s.src = "//static.hotjar.com/c/hotjar-" + e._hjSettings.hjid + ".js?sv=" + e._hjSettings.hjsv, r.appendChild(s)
            }(window, document), o.google_analysis && (!function (e, t, n, i, r, o, s) {
                e.GoogleAnalyticsObject = r, e[r] = e[r] || function () {
                        (e[r].q = e[r].q || []).push(arguments)
                    }, e[r].l = 1 * new Date, o = t.createElement(n), s = t.getElementsByTagName(n)[0], o.async = 1, o.src = "https://www.google-analytics.com/analytics.js", s.parentNode.insertBefore(o, s)
            }(window, document, "script", 0, "ga"), ga("create", o.google_analysis, "auto"), ga("send", "pageview")), "zh-CN" !== e("lang") && o.facebook_pixel && (!function (e, t, n, i, r, o, s) {
                e.fbq || (r = e.fbq = function () {
                    r.callMethod ? r.callMethod.apply(r, arguments) : r.queue.push(arguments)
                }, e._fbq || (e._fbq = r), r.push = r, r.loaded = !0, r.version = "2.0", r.queue = [], o = t.createElement(n), o.async = !0, o.src = "https://connect.facebook.net/en_US/fbevents.js", s = t.getElementsByTagName(n)[0], s.parentNode.insertBefore(o, s))
            }(window, document, "script"), fbq("init", o.facebook_pixel), fbq("track", "PageView"), t("head").append('<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=' + o.facebook_pixel + '&ev=PageView&noscript=1"/>'))
        }

        function r() {
            window.zEmbed || function (e, t) {
                var n, i, r, o, s, a = [], l = document.createElement("iframe");
                window.zEmbed = function () {
                    a.push(arguments)
                }, window.zE = window.zE || window.zEmbed, l.src = "javascript:false", l.title = "", l.role = "presentation", (l.frameElement || l).style.cssText = "display: none", r = document.getElementsByTagName("script"), r = r[r.length - 1], r.parentNode.insertBefore(l, r), o = l.contentWindow, s = o.document;
                try {
                    i = s
                } catch (e) {
                    n = document.domain, l.src = 'javascript:var d=document.open();d.domain="' + n + '";void(0);', i = s
                }
                i.open()._l = function () {
                    var e = this.createElement("script");
                    n && (this.domain = n), e.id = "js-iframe-async", e.src = "https://assets.zendesk.com/embeddable_framework/main.js", this.t = +new Date, this.zendeskHost = "coincolahelp.zendesk.com", this.zEQueue = a, this.body.appendChild(e)
                }, i.write('<body onload="document._l();">'), i.close()
            }(), zE(function () {
                zE.setHelpCenterSuggestions({labels: ["0930"]}), zE.identify({
                    name: getCookie("username") || "[vistor]",
                    email: getCookie("username") ? getCookie("username") + "@coincola.com" : "coincola_vip@coincola.com"
                });
                var e = getCookie("lang");
                "zh-HK" === e && (e = "zh-TW"), zE.setLocale(e)
            })
        }

        var o = n(6);
        e.exports = i
    }).call(t, n(0))
}, function (e, t) {
    e.exports = function () {
        window.onfocus = function () {
            tabNewMessage.getStatus() && tabNewMessage.remove()
        }
    }()
}, , , , , , , , , , , , , , , , , , function (e, t, n) {
    n(0), n(51), n(53), n(54), n(7), n(10), e.exports = n(32)
}]);